layout | title | subtitle | date | author | tags |
---|---|---|---|---|---|
post
|
Windows环境Qt5.11.2-win32版编译小记
|
有困难要上,没有困难,制造困难也。。。也要上?
|
2018-9-22
|
cj
|
c++ qt5 windows win32 vs2017 qtwebengine qtwebenginecore qtwebenginewidgets
|
2018年10月14日01:33:55 本文行不通,我上次是的成功是片面的、偶然的,我自己后来都无法再次成功编译QtWebengine模块,官方博客评论区一片哀嚎跪求msvc2017-win32版本QtWebengine模块的筒子。。。想要用在32bit环境下使用QtWebengine,还是回退到Qt5.10.1吧。Win32真是江河日下,明日黄花?
最近遇到几次32位win7环境QWebEngineView显示网页崩溃、无法显示网页的问题,实在不好解决;再者之前一直用的Qt5.7-win32版没更新过,趁这个机会更新下Qt看能不能解决。
一、官方下载
从官网下载qt-opensource-windows-x86-5.11.2.exe,安装后有vs2015/vs2015x64/vs2017x64,就是没有vs2017-win32版本。产品是要能在32位win7运行的,so。。。
二、直接编译
打开 x86 Native Tools Command Prompt for VS 2017
命令行工具,CD到Src文件夹内,运行configure -debug-and-release -nomake examples -nomake tests -opensource
, nmake
, nmake install
命令,结果很好,生成了所需要的各种dll、lib,但是缺少了QtWebEngine/QtWebEngineWidgets等几个重要的文件。搜索得知想要使用QtWebEngine/QtWebEngineWidgets模块是需要做其他设置才能编译的。
三、源码编译
参考官方文档Building Qt 5 from Git,
3.1 准备
-
下载ActivePerl,安装并添加路径到PATH
-
下载Python2.7.15 ,安装并添加路径到PATH
如果已经安装了Python3,需要手动更改python3的python.exe为python3.exe,更改scripts/pip.exe为pip.exe.bk,以后看心情可以改回来。
- 下载jom,功能与nmake相同,但可以利用多核CPU加快编译速度。
3.2 编译
依然打开x86 Native Tools Command Prompt for VS 2017
命令行工具,CD到目标文件夹路径E:\Qt\source
。具体流程不赘述,看BAT脚本即可。
REM 下载qt源码到qt5.11.2
CALL git clone https://code.qt.io/qt/qt5.git qt5.11.2
CALL cd qt5.11.2
CALL git checkout 5.11
REM 要编译QtWebEngine模块则必备
CALL perl init-repository
REM 创建编译目标文件夹
CALL cd ..
CALL mkdir qt5.11.2_build && cd qt5.11.2_build
REM 设置环境变量
SET _ROOT=E:\Qt\source\qt5.11.2
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%_ROOT%\qtrepotools\bin;%PATH%
SET QTDIR=%_ROOT%\qt5.11.2\qtbase
SET _ROOT=
REM 配置Qt
..\qt5.11.2\configure -developer-build -confirm-license -debug-and-release -opensource -opengl desktop -nomake examples -nomake tests
REM 使用jom编译,开启4个编译线程(CPU有几个核心就开几个)
jom /J 4
REM 安装。默认目标路径为qtbase
jom install
静态编译
REM 设置环境变量
SET _ROOT=C:\Qt\Qt5.11.2\5.11.2\Src
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%_ROOT%\qtrepotools\bin;%PATH%
SET _ROOT=
REM 配置Qt
..\Src\configure.bat -prefix C:\Qt\Qt5.11.2\5.11.2\qt5.11.2_msvc2017_win32_static -platform win32-msvc -static -static-runtime -silent -developer-build -confirm-license -debug-and-release -opensource -opengl desktop -accessibility -sql-odbc -sql-sqlite -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -nomake examples -nomake tests
PAUSE
REM 使用jom编译,开启8个编译线程(CPU有几个核心就开几个)
jom /J 4
REM 安装。默认目标路径为qtbase或-prefix
jom install
静态编译不支持QtWebEngine模块:
Static builds of QtWebEngine aren't supported. QtWebEngine will not be built.