找回密码
 立即注册
收起左侧

QT Creator添加Cypress提供的C++ LIB库

3
回复
8332
查看
[复制链接]
累计签到:51 天
连续签到:1 天
来源: 2017-12-20 14:46:34 显示全部楼层 |阅读模式
5Qter豆
Cypress公司提供的C++版本驱动接口是CyAPI.h等8个头文件和一个CyAPI.lib文件。

在主窗口类中添加包含:
#include "windows.h"#include "CyAPI.h"

在主窗口类的构造函数中添加代码:
    CCyUSBDevice *USBDevice=new CCyUSBDevice(NULL);    int eptCount = USBDevice->EndPointCount();    CCyControlEndPoint *ept = USBDevice->ControlEndPt;

通过在QT Creator项目上右击,添加静态库,只选择windows,没有debug,则pro文件里多出了如下的代码:
win32: LIBS += -L$$PWD/CyAPI/ -lCyAPIINCLUDEPATH += $$PWD/CyAPIDEPENDPATH += $$PWD/CyAPI
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/CyAPI/CyAPI.libelse:win32-g++: PRE_TARGETDEPS += $$PWD/CyAPI/libCyAPI.a
直接run,结果又错误停止了mingw32-make[1]: *** No rule to make target 'D:/bs/13_qtAcqClient/qtAcqClient/CyAPI/libCyAPI.a', needed by 'debug\qtAcqClient.exe'.  Stop.
然后我把 Win32-g++去了,pro文件里的内容修改为win32: LIBS += -L$$PWD/CyAPI/ -lCyAPIINCLUDEPATH += $$PWD/CyAPIDEPENDPATH += $$PWD/CyAPIwin32: PRE_TARGETDEPS += $$PWD/CyAPI/CyAPI.lib
直接run只有,提示需要CyAPI.cpp:D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xbcd): undefined reference to `_imp__SetupDiGetClassDevsA@16'
D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xc35): undefined reference to `_imp__SetupDiEnumDeviceInterfaces@20'
D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xc8a): undefined reference to `_imp__SetupDiDestroyDeviceInfoList@4'
D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xd3b): undefined reference to `_imp__SetupDiGetClassDevsA@16'
D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xd82): undefined reference to `_imp__SetupDiEnumDeviceInterfaces@20'
D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xdc5): undefined reference to `_imp__SetupDiGetDeviceInterfaceDetailA@24'
D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xe1c): undefined reference to `_imp__SetupDiGetDeviceInterfaceDetailA@24'
D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xed4): undefined reference to `_imp__SetupDiDestroyDeviceInfoList@4'
D:\bs\13_qtAcqClient\qtAcqClient\CyAPI\CyAPI.a(CyAPI.o):CyAPI.cpp.text+0xf0f): undefined reference to `_imp__SetupDiDestroyDeviceInfoList@4'
collect2.exe: error: ld returned 1 exit status

我已经添加库了,为什么还要我的cpp文件,这里没有cpp文件啊



回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2018-1-29 16:58:21 显示全部楼层
遇到跟你差不多的问题,楼主解决没有呢?

点评

楼主排版太乱了,这种错误是链接器报错 检查一下路径问题和.lib和.h文件 还有最好使用同一编译链  详情 回复 发表于 2018-1-29 17:11
回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2018-1-29 17:11:48 显示全部楼层
Fanya 发表于 2018-1-29 16:58
遇到跟你差不多的问题,楼主解决没有呢?

楼主排版太乱了,这种错误是链接器报错
检查一下路径问题和.lib和.h文件

还有最好使用同一编译链
回复

使用道具 举报

尚未签到

2019-7-3 16:17:22 显示全部楼层
楼主问题解决了吗,我也遇到这个问题了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了