本次记录把Qt5.8.0源码在msvc2015community版下静态编译的过程。
1、准备工作2、配置Qt的Makefile文件3、编译Qt库4、配置Qt库5、配置Qt CreatorFor Windows users as a single zip file (565 MB) (Info)
的文件。 python
输入perl -v
输入ruby -v
1) 下载的Qt源码解压到磁盘根目录:如G:/
注意:如果源码解压路径过长,将导致编译qtimageformats时出现无法打开编译器生成的文件“”:Invalid argument的错误。
我的解压路径为:G:/qt_src_5_8_0
2) 进入解压后的Qt源码文件夹下的 G:/qt_src_5_8_0/qtbase/mkspecs
文件夹下。
3) 再根据你安装的Qt版本进入相应的文件夹下,我这里是win32-msvc2015
。
4) 打开文件夹下的qmake.conf
文件,根据它include的内容再定位到相应的文件。我这里是上级文件夹下的common目录下的msvc-desktop.conf文件。
5) 打开对应的文件后,找到以下编译标志:
QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi QMAKE_CFLAGS_DEBUG = -Zi -MDd
将其中的MD全部修改为MT(就是将动态编译修改为静态编译):
QMAKE_CFLAGS_RELEASE = -O2 -MT QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi QMAKE_CFLAGS_DEBUG = -Zi -MTd
注意: Qt5.8.0有一个CPP文件 qtbase/src/plugins/generic/tuiotouch/qtuiohandler.cpp
包含了非ASCII字符,需要另存一个带BOM的UTF-8编码文件,替换原文件。否则编译会报错。
6) 打开VS自带的命令提示符,在开始菜单中找VS2015的文件夹。
7) 在命令提示符中进入Qt源码目录G:/qt_src_5_8_0
。
8) 输入Configure命令:
configure -confirm-license -opensource -debug-and-release -static -force-debug-info -PRefix "G:/msvc2015_static" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -nomake examples其中"G:/msvc2015_static"
代表编译完后的安装目录,此目录不需要事先存在。这个执行不会花费很久时间。没有报错就下一步。
1) 执行nmake命令。
注:此步大约会进行两到三个小时。
2) nmake执行完毕之后,再输入nmake install安装。这个安装实际上是一连串的文件复制。
注:此步大约会进行二十到三十分钟。
3) 执行完成后没有报错说明安装成功,G:/msvc2015_static
文件夹中即为生成的Qt静态库。
(未完待续……)
新闻热点
疑难解答