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

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库

(未完待续……)

展开阅读全文

没有更多推荐了,返回首页