Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QT静态库静态编译_C++_Qt_Visual C++_Static_Static Libraries - Fatal编程技术网

C++ QT静态库静态编译

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

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

我不明白如何将我自己的代码编译成静态库,静态链接其中使用的所有Qt内容。我已经下载了Qt的源代码,并使用msvc 2015静态编译了它(Qt 5.8.0),并在Qt Creator Complets中添加了新的静态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


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

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

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