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

(VS+QT)静态库调用失败

3
回复
14166
查看
[复制链接]
累计签到:6 天
连续签到:1 天
来源: 2020-11-16 16:54:41 显示全部楼层 |阅读模式
1Qter豆
各位大佬,请问下,下面这个问题是什么原因导致的呢?1>StaticDllDemo.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __cdecl StaticDemo::StaticDemo(void)" (__imp_??0StaticDemo@@QEAA@XZ),该符号在函数 "public: __cdecl StaticDllDemo::StaticDllDemo(class QWidget *)" (??0StaticDllDemo@@QEAA@PEAVQWidget@@@Z) 中被引用
1>D:\QProject\Demo\StaticDllDemo\x64\Debug\StaticDllDemo.exe : fatal error LNK1120: 1 个无法解析的外部命令

IDE: vs2017+qt5.12
操作步骤:
1、创建一个QT静态库工程,编译成功
2、创建一个QT工程,调用步骤1的静态库,编译报错
QT工程属性中“C/C++ 常规 附加包含目录”、“链接器 常规 附加库目录” 、“链接器 输入 附加依赖项”均已正确设置。
3、重新创建QT动态库工程,编译成功后,使用步骤2的工程可调用成功。

怀疑点:
静态库工程和使用工程,编译器版本不一致


最佳答案

查看完整内容

__declspec(dllimport) public: __cdecl StaticDemo::StaticDemo 静态库不需要__declspec(dllimport)这个。
回复

使用道具 举报

尚未签到

2020-11-16 16:54:42 显示全部楼层
__declspec(dllimport) public: __cdecl StaticDemo::StaticDemo
静态库不需要__declspec(dllimport)这个。
回复

使用道具 举报

累计签到:6 天
连续签到:1 天
2020-11-18 08:56:42 显示全部楼层
一笑1130 发表于 2020-11-17 18:23
__declspec(dllimport) public: __cdecl StaticDemo::StaticDemo
静态库不需要__declspec(dllimport)这个。 ...

谢谢大佬,问题解决。
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2021-3-11 15:03:22 显示全部楼层
试试在项目属性的C/C++、代码生成、运行库设置为MDd
回复

使用道具 举报

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

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