C++ Visual Studio 2012中的Qt5.0.1静态链接
我使用以下配置构建Qt:C++ Visual Studio 2012中的Qt5.0.1静态链接,c++,qt,visual-studio-2012,static-linking,C++,Qt,Visual Studio 2012,Static Linking,我使用以下配置构建Qt: -platform win32-msvc2012 -no-icu -no-angle -opengl desktop -static -qt-sql-mysql -qt-plugins-mysql -nomake demos -nomake examples 一切都很顺利。顺便说一句,我还将win32-msvc2012 mkspecs/MD的qmake.conf中的静态链接更改为/MT(根据一些说明)。现在,我尝试在Visual Studio 2012中使用静态链接构
-platform win32-msvc2012 -no-icu -no-angle -opengl desktop -static -qt-sql-mysql -qt-plugins-mysql -nomake demos -nomake examples
一切都很顺利。顺便说一句,我还将win32-msvc2012 mkspecs/MD的qmake.conf中的静态链接更改为/MT(根据一些说明)。现在,我尝试在Visual Studio 2012中使用静态链接构建最简单的应用程序。因此,我创建了一个简单的项目(这是一个基本项目,来自Qt Visual Add-in),它是:
#include "test.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
test w;
w.show();
return a.exec();
}
我完全不知道发生了什么事。在VisualStudio2010和Qt4.8中,一切都以这种方式完美工作。我读了一些关于更多外部依赖性的文章,我应该添加这些内容,但我对此不确定。哦,顺便说一句,在QtCreator中,这个静态链接非常有效,但它看不到MySQL插件,这对我来说也是一个谜,我需要它来完成我的原始项目。我正在使用Visual Studio 2013,但昨天我注意到完全相同的缺失链接 您需要向Ws2_32.lib添加依赖项。 如果您的project compile出现一条神秘的“windows平台插件丢失”消息而崩溃,则需要将其添加到一个cpp中:
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin);
这可能会添加新的依赖项
仅供参考,这些是我用于默认Qt项目的依赖项(有些仅对角度有必要):
- winmm.lib
- Ws2_32.lib
- dxguid.lib
- d3d9.lib
- imm32.lib
- qtmaind.lib
- qt5corder.lib
- Qt5Guid.lib
- Qt5Widgetsd.lib
- libEGLd.lib
- 利伯格尔
- ESv2d.lib
- 翻译库
- preford.lib
- translator_hlsld.lib
- qwindowsd.lib
- Qt5PlatformSupportd.lib
- %(附加依赖项)
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin);