Windows下载编译Qt5 Gui

时间:2021-08-30 19:56:26

安装工具

Python

这个安装的时候没记录下来,网上查一下,大把, 就不补了。

ActivePerl

https://www.cnblogs.com/dilex/p/10591579.html

下载

http://download.qt.io/archive/qt/

链接:https://pan.baidu.com/s/1ERKOI_I8EVHwt17QPrMqfg
提取码:t9sh

解压

解压的路径为 E:\OpenSource\qt  (后面编译的时候会用到)

Windows下载编译Qt5 Gui

VS2015 x64本机工具人员命令提示符

Windows下载编译Qt5 Gui

编译步骤

Step1

在VS2015 本机工具命令提示符中,进行到Qt的解压目录下

Windows下载编译Qt5 Gui

 

Step2 配置

动态库的编译配置

执行configure命令,之后就是等待

configure.bat -confirm-license -opensource -platform win32-msvc -mp -debug-and-release -shared -prefix "D:\Program Files\Qt5" -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc

configure.bat
-shared //指明是动态编译
-prefix "D:\Program Files\Qt5" //指明安装的目录
-confirm-license -opensource //指明是开源版本的qt
-debug-and-release //指明需要debug版和release版,可以单独选择release版
-platform win32-msvc //指明使用msvc编译

 

 静态库的编译配置

修改源码中文件

在解压目录下找到qtbase\mkspecs\common\msvc-desktop.conf,修改-MD为-MT

Windows下载编译Qt5 Gui

修改后

Windows下载编译Qt5 Gui

configure命令

configure.bat 
-static //指明是静态编译 
-prefix "D:\Program Files\Qt5" //指明安装的目录 
-confirm-license -opensource //指明是开源版本的qt 
-debug-and-release //指明需要debug版和release版,可以单独选择release版 
-platform win32-msvc //指明使用msvc编译

 

configure完成后

如下图

Windows下载编译Qt5 Gui

Step3 编译

开始编译,直接输入编译命令nmake,之后继续等待:

Windows下载编译Qt5 Gui

经过漫长的编译过程...等待再等待...

Windows下载编译Qt5 Gui

Step4 安装

Windows下载编译Qt5 Gui

再继续等待...等待.....

 Step5 配置环境变量

把安装好后的qmake路径添加到【环境变量】中的【用户变量】中的【path】项后边,记得加分号与前一个隔开:

Windows下载编译Qt5 Gui

Step6 测试

打开个命令行:

Windows下载编译Qt5 Gui

完成编译。

 

CMake构建Qt5的VS2015

 https://www.cnblogs.com/dilex/p/10630249.html

技术总结

  1.  折腾了一个多星期,最后周末熬了个夜,才发现问题,网上的说明都基本上是静态库编译的,但我尝试了没成功,暂时还没找到原因;另外却引出灵感,可能是我的configure的参数,指明动态库编译的那个参数错了, 就改了, 其实后面为了赶时候,我用的是jom,进行多核编译的,五年的电脑,四核100%运行了三四个小时,好担心它挂掉。(PS:还不想换电脑呢)
  2. 编译这块, 还需要单独去了解一下nmake的编译脚本和Linux下的编译脚本makefile有什么区别
  3. 最后,做技术还是需要有点强迫症,因为我现在对于C++源代码管理,都希望基于CMake这个工具进行管理,上传SVN或GIT时,就不用把项目工程相关代码也上传了。