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"


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM