C++ QT静态库静态编译
我的任务是在计算机上的Windows项目中使用我的库,而无需安装Qt。所以我想用静态链接的Qt代码编译我的库 我不明白如何将我自己的代码编译成静态库,静态链接其中使用的所有Qt内容。我已经下载了Qt的源代码,并使用msvc 2015静态编译了它(Qt 5.8.0),并在Qt Creator Complets中添加了新的静态qmake。我试图构建我的库,但成功了,但在其他计算机上使用它,在没有安装Qt的情况下,会出现许多链接器错误LNK2001和LNK2019 以下是一个错误示例:C++ QT静态库静态编译,c++,qt,visual-c++,static,static-libraries,C++,Qt,Visual C++,Static,Static Libraries,我的任务是在计算机上的Windows项目中使用我的库,而无需安装Qt。所以我想用静态链接的Qt代码编译我的库 我不明白如何将我自己的代码编译成静态库,静态链接其中使用的所有Qt内容。我已经下载了Qt的源代码,并使用msvc 2015静态编译了它(Qt 5.8.0),并在Qt Creator Complets中添加了新的静态qmake。我试图构建我的库,但成功了,但在其他计算机上使用它,在没有安装Qt的情况下,会出现许多链接器错误LNK2001和LNK2019 以下是一个错误示例: Error L
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
看起来您已经构建了一个静态库,因此没有将它“链接”到任何东西。从技术上讲这是可能的,但是没有工具可以做到这一点:(库本身必须是动态库,因为这是现有工具可以链接任何东西的唯一类型。当您根据静态Qt构建库时,库将按照您的意愿静态使用Qt 看起来您已经构建了一个静态库,因此没有将其“链接”到任何东西。从技术上讲这是可能的,但没有工具可以做到这一点:(