繁体   English   中英

QT静态库静态编译

[英]QT Static Library Static Compilation

我的任务是在不使用Qt的计算机上的Windows项目中使用我的库。 所以我想用静态链接的Qt代码编译我的库。

我不明白如何将我自己的代码编译到静态库,静态地链接所有Qt的东西。 我已经下载了Qt的源代码并使用msvc 2015静态编译(QT 5.8.0)并在Qt Creator中添加了新的静态qmake。 我试图构建我的库,它成功了,但是在没有安装Qt的情况下在其他计算机上使用它会得到许多链接器错误LNK2001LNK2019

以下是错误示例:

Error LNK2019 Unresolved External Symbol "public: int __thiscall
QJsonValue::toInt(int)const " (?toInt@QJsonValue@@QBEHH@Z) in function
"public: int __thiscall QJsonValueRef::toInt(void)const "
(?toInt@QJsonValueRef@@QBEHXZ)  ConsoleApplication2 c:\Users\Alex\documents\visualstudio
2015\Projects\ConsoleApplication2\ConsoleApplication2\TcpClient.lib(tcpthreadpart.obj)

所以,据我所知,所有的Qt源都没有链接到我的库。 互联网上有一些指南如何使用qt的静态链接编译.exe ,我已经尝试过编译我的库,但它失败了。 能否请你帮忙?

库本身必须是动态库,因为这是现有工具可以与任何东西链接的唯一类型。 当您针对静态Qt构建该库时,库将根据您的意愿静态使用Qt。

看起来你已经构建了一个静态库,因此它没有“链接”到任何东西。 技术上它是可能的,但没有工具可以做到:(

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM