windows环境:
- 首先下载hidapi这个库:
https://github.com/neverstopZyy/hidapi
到自己电脑后,使用vs软件进行编译。
编译过程可能遇到的问题:
报错SDK版本不对(比如缺少各类xxx.h) 更换版本,或者更新。 具体办法是打开vs installer,然后对当前的Vs 进行修改。
笔者成功编译使用的WSDK构成
- 编译完成后,我们需要根据项目的类型来做修改,参考软件动态库的编译方法。
1, QT添加动态库方法
找到.pro文件,把刚刚编译好的hidapi项目复制到项目中
加上动态库配置:
win32:CONFIG(release, debug|release): LIBS += -L$$_PRO_FILE_PWD_/hidapi-master/windows/Release/ -lhidapi #-L+路径,-l加名称
else:win32:CONFIG(debug, debug|release): LIBS += -L$$_PRO_FILE_PWD_/hidapi-master/windows/Debug/ -lhidapi
INCLUDEPATH += "hidapi-master\\hidapi"#加上.h头文件的路径
注释: 其中 -L后面紧跟着路径, -l紧跟着.lib的名称,这里的$$_PRO_FILE_PWD_代表文件pro所在的目录。
至此就完成了api的添加。
2, vs添加动态库方法
找到 .vcxproj 文件,把刚刚编译好的hidapi项目复制到项目中
加上动态库配置:
方法1: 通过设置工程配置来添加lib库.
A、添加工程的头文件目录:工程—属性—配置属性—c/c+±–常规—附加包含目录:加上头文件存放目录。
B、添加文件引用的lib静态库路径:工程—属性—配置属性—链接器—常规—附加库目录:加上lib文件存放目录。
C 然后添加工程引用的lib文件名:工程—属性—配置属性—链接器—输入—附加依赖项:加上lib文件名。
这种方法比较繁琐,且不直观,而且还可能要争对debug版本和release版本作不同的配置,因为我们生成的两个版本的库可能放在不同的目录中的.
其他两种方法:
方法2: 使用编译语句:
#ifdef _DEBUG
#pragma comment(lib,"…\debug\LedCtrlBoard.lib")
#else
#pragma comment(lib,"…\release\LedCtrlBoard.lib")
#endif这种方法直观,方便,且可以按如上直接区分出Debug版本和Release版本的不同目录.当然,通过宏,还可以区分更多版本.
但是在指定目录时,不小心容易出错.
方法3: 直接添加库文件到工程中.
就像你添加.h和.cpp文件一样,把lib文件添加到工程文件列表中去.
VC中,切换到"解决方案视图",—>选中要添加lib的工程–>点击右键–>“添加”–>“现有项”–>选择lib文件–>确定.
就是这么简单,搞定.