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