1. QT5 静态编译
a. 下载源文件
b. 更改 qtbase\mkspecs\win32-msvc2010\qmake.conf 文件,这里win32-msvc2010是我使用的编译器,请选择你自己的;
e. 执行 nmake install
2. 使用QT5静态库
QT5的部署结构与QT4有了些变化,需要在程序目录下配置相应的插件(参见)。 在静态链接QT库时,
你需要通过手动的方式在代码里加入插件导入代码:
例如:
注意:这里插件的名字一定要正确,插件的名字没有找到相关的文档列表,可以通过dumpbin.exe 导出静态库的符号表,
然后通过查询来sqt_static_plugin找出导入的插件的名字。
a. 下载源文件
b. 更改 qtbase\mkspecs\win32-msvc2010\qmake.conf 文件,这里win32-msvc2010是我使用的编译器,请选择你自己的;
找到文件里的下面几行,更改MD为MT表示链接静态库。
QMAKE_CFLAGS_WARN_OFF = -W0
QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd
c. 执行 configure,参见《qt5配置选项》
d. 执行 nmakee. 执行 nmake install
2. 使用QT5静态库
QT5的部署结构与QT4有了些变化,需要在程序目录下配置相应的插件(参见)。 在静态链接QT库时,
你需要通过手动的方式在代码里加入插件导入代码:
#include <QtPlugin>
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
Q_IMPORT_PLUGIN(AccessibleFactory)
例如:
#include "qtupp.h"
#include <QtWidgets/QApplication>
#include <QtPlugin>
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
Q_IMPORT_PLUGIN(AccessibleFactory)
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qtupp w;
w.show();
return a.exec();
}
注意:这里插件的名字一定要正确,插件的名字没有找到相关的文档列表,可以通过dumpbin.exe 导出静态库的符号表,
然后通过查询来sqt_static_plugin找出导入的插件的名字。