1. 前言
之前写了如何使用Qt mingw编译CyAPI源码生成静态库,Qt MinGW编译CyAPI源码生成静态库
今天写一下使用方法和测试过程。
2. 使用
2.1 将准备好的静态库和头文件拷贝到工程目录下,或者放到自定义的目录下,我的目录结构:
2.2 新建Qt工程,在项目文件(.pro文件)中加入以下内容:
我的库和头文件都在工程目录下,所以此处配置路径如下,如果自己修改了路径直接在此处修改即可。或者右键项目添加外部静态库,选择库和头文件目录。
LIBS += -L$$PWD/ -lCyAPIMinGW \
-lsetupapi
INCLUDEPATH += $$PWD/inc
DEPENDPATH += $$PWD/inc
2.3 修改mainwindow.h头文件,增加包含
#include <windows.h>
#include "CyAPI.h"
2.4 源文件中增加代码,我是直接加在了mainwindow.cpp的构造函数中
CCyUSBDevice *USBDevice = new CCyUSBDevice();
int n = USBDevice->DeviceCount();
if (n > 0)
{
if (USBDevice->Open(0))
{
qDebug()<<"USBDevice->DeviceName"<<USBDevice->DeviceName;
qDebug()<<"USBDevice->VendorID"<<USBDevice->VendorID;
qDebug()<<"USBDevice->ProductID"<<USBDevice->ProductID;
}
}
2.5 运行输出结果:
我也简单测试了读取和发送数据都没有问题,此处就不贴代码了,大家可以根据官方示例自己研究,我这里主要是为了测试自己编译的库能不能用,所以就一切从简了。
3. 注意
两个静态库的版本一定要对应,即32位cyapi库选择32位的setupapi库,64位的要选择对应的64位库,否则编译会出错。
我的setupapi库路径:
// 32位
D:\Qt\Qt5.12.10\Tools\mingw730_32\i686-w64-mingw32\lib\libsetupapi.a
// 64位
D:\Qt\Qt5.12.10\Tools\mingw730_64\x86_64-w64-mingw32\lib\libsetupapi.a