首页 > 学院 > 开发设计 > 正文

Qt5.8.0在msvc2015方式下的静态编译过程记录

2019-11-08 02:36:56
字体:
来源:转载
供稿:网友

Qt 5.8.0在msvc2015方式下的静态编译记录

本次记录把Qt5.8.0源码在msvc2015community版下静态编译的过程。

1、准备工作2、配置Qt的Makefile文件3、编译Qt库4、配置Qt库5、配置Qt Creator

第一步:准备工作

下载Qty库源码 在Qt官网上下载相应版本的Qt库源码。因为电脑上安装的是VS2015community,所以下载名为 For Windows users as a single zip file (565 MB) (Info) 的文件。 Qt及源码下载 下载Python下载Perl下载Ruby

注意: 1.Ruby要选择安装包版本 2.安装Python、Perl、Ruby时注意勾选添加到环境变量PATH 3.检测是否安装成功:打开CMD 输入python 输入perl -v 输入ruby -v

第二步:配置Qt的Makefile文件

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文件。 找到qmake.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的文件夹。 打开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"代表编译完后的安装目录,此目录不需要事先存在。这个执行不会花费很久时间。没有报错就下一步。

第三步:编译Qt库

1) 执行nmake命令。 nmake

注:此步大约会进行两到三个小时。

2) nmake执行完毕之后,再输入nmake install安装。这个安装实际上是一连串的文件复制。

注:此步大约会进行二十到三十分钟。

3) 执行完成后没有报错说明安装成功,G:/msvc2015_static文件夹中即为生成的Qt静态库。

第四步:配置Qt库

(未完待续……)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表