一、前言
最近需要做Windows平台 + Qt MinGW编译器做上位机与USB通信,USB芯片使用Cypress芯片。试了libusb,只能在Linux平台下使用,Windows平台用不了。所以只能使用Cypress提供的官方库CyAPI,但是Cypress官网只提供了vs版本的源码编译,在Qt下使用需要重新编译,苦于没有找到现成的资源只能自己编译,搞了一天,不过真心不难,只是没有注意细节。在此记录一下编译过程,也分享给需要的小伙伴。
不想自己改源码的小伙伴,可以直接去下载我改好的源码工程:
静态库工程下载地址
二、 准备
需要准备好CyAPI源码,我是在官网下载的
官网下载地址
到这个链接下找到以下文件下载即可。
官网下载需要注册登录,觉得麻烦的小伙伴可以到这个地址下载:
CyAPI源码下载地址
三、 编译
-
使用Qt Creator建立一个新工程,选择C++库,我选择了静态库,动态库应该也可以,但是我没试,有兴趣的同学可以试一下。
-
建好工程以后直接把下载好的源码导入到工程中来,然后把不需要的文件移除掉,以下是我建好的工程目录:
-
然后在pro文件中加入以下内容:
# 引入包含目录
INCLUDEPATH += $$PWD/inc
#添加依赖库
LIBS+=-L$$PWD -lsetupapi
#配置文件输出路径
greaterThan(QT_MAJOR_VERSION,4){
TARGET_ARCH=$${
QT_ARCH}
}else{
TARGET_ARCH=$${
QMAKE_HOST.arch}
}
contains(TARGET_ARCH, x86_64){
CONFIG(debug,debug|release){
MOC_DIR = build/x64/tmp_debug/moc
RCC_DIR = build/x64/tmp_debug/rcc
OBJECTS_DIR = build/x64/tmp_debug/obj
DESTDIR = build/x64/bin/debug/
}else{
MOC_DIR = build/x64/tmp_release/moc
RCC_DIR = build/x64/tmp_release/rcc
OBJECTS_DIR = build/x64/tmp_release/obj
DESTDIR = build/x64/bin/release/
}
}else{
CONFIG(debug,debug|release){
MOC_DIR = build/x86/tmp_debug/moc
RCC_DIR = build/x86/tmp_debug/rcc
OBJECTS_DIR = build/<