VS2008+QT+CYAPI开发USB程序问题

采用VS2008开发QT程序时需要用到CYAPI的库和头文件,但在添加Cyapi.h后编译器报如下错误:

d:\app\app\app\CyAPI.h(15) : error C2146: syntax error : missing ';' before identifier 'bLength'
1>d:\app\app\app\CyAPI.h(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(16) : error C2146: syntax error : missing ';' before identifier 'bDescriptorType'
1>d:\app\app\app\CyAPI.h(16) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(16) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(17) : error C2146: syntax error : missing ';' before identifier 'bcdUSB'
1>d:\app\app\app\CyAPI.h(17) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(17) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(18) : error C2146: syntax error : missing ';' before identifier 'bDeviceClass'
1>d:\app\app\app\CyAPI.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(19) : error C2146: syntax error : missing ';' before identifier 'bDeviceSubClass'
1>d:\app\app\app\CyAPI.h(19) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(19) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(20) : error C2146: syntax error : missing ';' before identifier 'bDeviceProtocol'
1>d:\app\app\app\CyAPI.h(20) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(20) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(21) : error C2146: syntax error : missing ';' before identifier 'bMaxPacketSize0'
1>d:\app\app\app\CyAPI.h(21) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(21) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(22) : error C2146: syntax error : missing ';' before identifier 'idVendor'
1>d:\app\app\app\CyAPI.h(22) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(22) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(23) : error C2146: syntax error : missing ';' before identifier 'idProduct'
1>d:\app\app\app\CyAPI.h(23) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(23) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\app\app\app\CyAPI.h(24) : error C2146: syntax error : missing ';' before identifier 'bcdDevice'

 

而在MFC程序中却没有这个问题,最终发现是由于缺少window头文件造成的

解决方法:

先添加window头文件再包含Cyapi头文件

#include <Windows.h>
#include "CyAPI.h"

posted @ 2012-06-05 17:34  hujianhua  阅读(3193)  评论(3编辑  收藏  举报