Qt For MSVC编译

Qt For MSVC编译




  因为自己组织环境的灵活性更高,之前笔者常识自行编译Qt,因为自己组织环境的灵活性更高,之前笔者常识自行编译Qt For MSVC环境。

1 基本环境准备

项目 环境
操作系统 windows 10 64bits
编译环境 MSVC 2017
Qt Version 5.11.1
Qt Creator 4.4.1
ICU icu4c
OpenSSL 1.0.2p

2 开始工作

2.1 编译ICU

首先要保证你的电脑里有SVN客户端,SVN客户端可以从这里下载,安装SVN后,创建一个目录作为ICU的源码及编译目录,右键->SVN Checkout->根据网页的提示输入source库URL,然后按确定开始检出,如下图:

当版本库拉取完成后,我们进入source\allinone目录,然后使用VS打开(VS最好安装UWP支持,否则还需要改项目,会提示部分子项目加载失败)编译即可。

编译完成后,会看到源码根目录多一个bin的目录,将此目录设置为环境变量即可,如下图:

2.2 OpenSSL编译

首先从这里下载OpenSSL,目前当前最高稳定版本是1.0.2p,我们下载解压后,得到如下:

由于编译OpenSSL需要perl的支持,因此我们需要从这里下载下载适合windows的ActivePerl并安装,确定安装完成后,使用perl -v命令,如果有返回版本信息,则表明安装成功,如图:

如果安装成功,则可以使用命令行输入以下指令开始编译:

cd D:\openssl-1.0.2p
d:
perl Configure VC-WIN32 no-asm --prefix=D:\openssl
ms\do_ms.bat
nmake -f ms\nt.mak

2.3 qt库编译

解压qt-everywhere-opensource-src-5.11.1.zip包,进入原目录,我们可以看到路径里有一个configure.bat,打开MSVC命令行,进入目录,即可执行:

configure -prefix=D:\Qt\5.11.1\qt-msvc-2017-x86 qt-libpng -qt-libjpeg -qt-assimp -qt-sqlite -qt-harfbuzz -qt-freetype -qt-zlib -qt-doubleconversion -shared "-D_ENABLE_EXTENDED_ALIGNED_STORAGE=1" -debug-and-release -opensource -nomake examples -pch -opengl dynamic -icu -ID:\icu4c\include -LD:\icu4c\lib -openssl -ID:\openssl\include -LD:\openssl\lib

进行配置,如果不知道其参数含义,可执行以下命令查看:

configure -help

执行时,configure会先编译qmake工具,路径在qtbase/qmake中,过一会就可以看到编译信息,并且可查看目前配置的信息。
  当configure命令完成配置执行后,我们可以使用以下命令启动编译:

nmake all

可能存在以下几处的编译错误,均可人工干预:
1. 在编译qtbase/src/network的时候,因为其会使用到OpenSSL,如果您在配置过程中选择使用openssl,并且其openssl为静态链接时,可能会因为查找不到Kernel32.lib User32.lib gdi32.lib而发生链接错误,configure配置传入的参数不知道为何没有完全生效,此时,您需要进入该目录,打开Makefile文件(如果您是使用了-debug-and-release,则是Makefile.Debug和Makefile.Release 2个文件),找到LIBS=那行,然后在后面追加-lKernel32 -lUser32 -lgdi32即可。
2. 在qtwebengine/src/3rdparty/chromium部分,有部分文件会因为编码问题而报错,根据报错提示的位置,转换成UNICODE编码即可,最好使用带转换功能的编辑器打开,同时转换换行符
3. 在qtwebengine/src/webengine和qtwebengine/src/webenginewidgets,可能会发生Makefile没有增加上某些库的链接,而引起链接错误,根据报错信息,人工干预加上。

2.2 Qt库安装

安装就简单了,直接输入以下指令即可:

nmake install

2.3 Qt Doc库的编译

一样,输入以下指令:

nmake docs

2.4 Qt Doc的安装

执行以下指令(本人未实验,官方README文档描述,看看文档还是好的):

nmake install_docs

2.5 配置QtCreator

打开QtCreator,进入工具>选项>构建和运行,按如下步骤配置:
1. 切换到Qt Version,点添加,选择前面qt目录的bin/qmake,QtCreator会自动识别。
2. 切换到Kit选项卡,点添加,将相关参数设置好,不要设错了,以下是我的设置截图:
QtCreator
3. 如果要设DEBUG,请自行安装CDB,并在Debuggers选项卡设置(如已自动识别则不需要手动配置)

现在,试着创建个简单的工程试试看?哈哈。

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

扫码二维码快速访问本页

Qt For MSVC编译 – 起航天空