在QT中调用VC++导出的动态链接库编译出错

舒泱 2020-07-02 09:56:44
1、情况是这样子的
供应商提供了一套API,用VC++导出成了动态链接库,提供给我API.dll、API.h、API.lib,我需要在QT里调用这个动态链接库。我的QT编译器是MinGW。

2、出现的问题:
QT编译通不过,找不到函数定义,我用下面语句查看是否能加载上了动态链接库,输出是没有加载上。



3、尝试找出原因:
①放到visual studio 2017里面调用,没问题,可以链接上。

②我在QT里换了几种方法导入这个动态链接库,都不行。
③我在QT里调用QT自己导出的动态链接库,可以。

4、猜想的出现问题的原因:
QT的MinGW编译器是GCC,和VS的编译器不是同一体系的,所以调用VS导出的动态库编译通不过,在网上查了好像确实是这个原因。问题不仅如此,之前供应商提供的API函数形参列表里还依赖了MFC中的类,让他们改过,改成了标准C++的接口,我甚至觉得他们在VS里导出动态链接库的时候,选择的是MFC DLL。
但怎么解决呢?在QT里把编译器换成MSVC(那我这个工程里的好多东西都要改,因为以前放进去的动态链接库是用QT导出的,LIB文件后缀是.a,换编译器之后可能调用那些动态库又不行了)?
有没有其他解决办法呢?或者大家有遇到过这种情况吗?是怎么解决的?
...全文
262 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧