编译Qt
参考:
Windows 下自己准备自己想要的编译器。编译自己想要的 Qt 版本 最近 5.6 出来了,有好多新的变化,第一时间准备尝鲜。 我自己的是 MSVC2015 Qt5.6
首先要准备:
- Perl
- Git
- python
如果要是编译webkit的话,还需要 icu 套件,这次为了熟悉流程先不编这个,因为 Qt5.6 已经把 webkit 移除了,换成了 webengine ,官网的文档还没有更新,暂时还没研究
一定要先装Perl再装Git,以免用了老的Git,会导致脚本失败 而且安装Git的时候需要选择可以在cmd使用Git命令,不然就只能用Git自己带的那个命令行了 Qt的代码使用Git做版本管理,但是他的子库很多,每个模块都是单独的一个仓库,所以检出的时候为了避免麻烦则用Perl写成了脚本。
为了方便的话,可以直接用VS的命令行,这样免了设置MSVC的环境了。 设置一些环境变量:
SET _ROOT=C:\qt5
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
SET QMAKESPEC=win32-msvc2015
SET _ROOT=
- 注:_ROOT设置成自己检出Qt代码的目录(你检出代码之后再去设置这些也是可以的),QMAKESPEC 设置成自己用的编译器
取顶层仓库
git clone git://code.qt.io/qt/qt5.git
或者是
git clone https://code.qt.io/qt/qt5.git
这样会在你的目录下检出Qt顶层仓库。
然后执行Perl脚本检出子库
perl init-repository
- 注:这里边官方文档说是可以使用--no-webkit来屏蔽webkit相关子库,但是我这里是不能用这个参数的,无法解析这个参数,看脚本内容也没有跟--no-webkit相关的。虽然把webkit的代码检出了,但是编译的时候,如果你没有安装上边说的icu套件,编译会自动跳过的。
接下来是configure
configure -prefix f:/qtsrc/qt-msvc2015-x64 -debug -static -platform win32-msvc2015 -c++11 -opengl desktop -qt-libpng -qt-libjpeg -nomake examples -nomake tests -mp
这是我的配置,基本上都是一眼就能看出来的选项。(从我的观察来看Qt5以上应该已经不支持demos这个选项了,如果加了会报错)
然后编译
nmake
转移到其他目录(就是-prefix指定的目录)
nmake install
在目录下就能看到已经编好的工具还有lib了。想要dll什么的改下configure的参数就可以了