Qt for Windows:Qt 5.9.0 MinGW 静态编译版本(包含OpenSSL)
2017-06-04 23:13
1116 查看
概述
5月31号,Qt这一次竟然没跳票,如约发布了LTS的5.9感觉这一次5.9用的人会很多,毕竟LTS,而且确实改进很大,所以这一次完整的写一遍静态编译的步骤
我这里只涉及MinGW版本的静态编译,包含OpenSSL,不包含MySql
我使用的是 Windows10 64bit 操作系统
我也写了一篇,将如何静态发布QML开发的程序,是基于本文的,链接:
http://blog.csdn.net/wsj18808050/article/details/72865917
直接使用我的编译成果
这个最为简单,不需要自己编译Qt,但是Qt等安装路径这些都会被定死,而且我编译时跳过或者没有启用的模块将会无法使用。安装 Qt5.9.0 MinGW 版本
前往百度云,下载压缩包:
https://pan.baidu.com/s/1o8LmUy2
解压
openssl-1.0.1c_static_w32_mingw.zip到
C:\Dev目录
解压
Qt5.9.0_MinGW_static.part1.rar到
C:\Qt目录
转跳至本文的
套件配置,然后配置套件,接着直接使用就可以了
准备步骤
如果你希望自己编译Qt,可以从这里开始看下载Qt
5.9开始,Qt在Windows上的安装包合并了,只有一个版本。就是 Qt 5.9.0 for Windows (2.3 GB),安装的时候再选择不同的套件。下载地址如下:
官网地址(需要登录Qt账号):
https://www.qt.io/download-open-source/#section-3
exe下载地址:
http://download.qt.io/official_releases/qt/5.9/5.9.0/qt-opensource-windows-x86-5.9.0.exe
安装Qt
选择路径
选择套件
我这里选择了Android,是因为我要用,不需要的同学可以不选择。
准备OpenSSL库
我配置的是1.0.1c版本的OpenSSL,关于OpenSSL的编译我不建议自己进行,比较麻烦。我是到这里直接下载OpenSSL的编译结果的:
http://www.cnblogs.com/findumars/p/6372223.html
下载后解压OpenSSL的zip压缩包(openssl-1.0.1c_static_w32_mingw.zip)到
C:\Dev目录下
安装Perl
我选择的是:ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi
安装包:
http://downloads.activestate.com/ActivePerl/releases/5.22.1.2201/ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi
这个资源貌似官网已经没了,链接直接打开后就报错,但是丢到迅雷里任然可以正常下载
官网地址:
http://www.activestate.com/activeperl/downloadsc
安装 Python
我选择的是:python-3.5.1.exe
安装包:
https://www.python.org/ftp/python/3.5.1/python-3.5.1.exe
官网地址:
https://www.python.org/downloads/
安装好Python后,将安装目录添加到PATH环境变量中(安装的时候如果选上“Add Python 3.5 to PATH”会自动添加)
检查
运行Qt的命令行工具
输入以下命令看看 gcc 编译器是否配置正确
gcc -v
再输入以下命令看看 perl 解释器是否配置正确
perl -v
输入以下命令看看 python 是否配置正确
python
按 Ctrl + Z 回车,可以退出 python
编译Qt
打开Qt命令行工具cd到源码目录
cd C:\Qt\Qt5.9.0_MinGW\5.9\Src
配置Qt,准备编译
我这里跳过了一些模块,如果你需要这些模块,在自己编译的时候可以去掉skip
configure.bat -static -release -platform win32-g++ -prefix "C:\Qt\Qt5.9.0_MinGW_static" -qt-sqlite -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -openssl-linked -opensource -confirm-license -make libs OPENSSL_LIBS="-llibssl -llibcrypto -lgdi32" -L C:\Dev\openssl-1.0.1c_static_w32_mingw -I C:\Dev\openssl-1.0.1c_static_w32_mingw\include -nomake tools -nomake examples -nomake tests -skip qt3d -skip qtcanvas3d -skip qtcanvas3d -skip qtdatavis3d -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras
查看输出结果
根据自己需求,查看对应的模块是否正常
Desktop OpenGL ....................... yes
OpenGL正常
OpenSSL ................................ yes
OpenSSL正常
Qt Sql ................................. yes
Sql模块正常
SQLite ................................. yes
SQLite正常
MySql .................................. no
MySql不正常,因为我没有装MySql开发环境,那么编译出来的Qt是无法正常连接到MySql的
编译Qt
为了避免一些奇怪的问题,我使用单线程编译
编译非常慢,请至少准备几个小时的空余时间
如果你使用的是Win10请注意不要让Win10的更新后的自动重启打断编译,我编译了一半的时候就差点被Win10自动重启了
mingw32-make
安装Qt
mingw32-make install
修复一些小问题
修改编译配置打开文件
C:\Qt\5.9.0_MinGW_static\mkspecs\win32-g++\qmake.conf
找到
QMAKE_LFLAGS_DLL
将后面都改成
-static
再加一行
QMAKE_LFLAGS
后面也改成
-static
拷贝qml文件
因为一些我还没了解的原因,编译出来的Qt,在qml目录是没有.qml文件,如下图,左边为静态编译版本Qt,右边为普通的版本。qml文件一个都没有。所以,这些qml文件都需要手动拷贝下。
套件配置
打开QtCreator选择上方工具栏中的 -> 工具 -> 选项 -> 构建和运行
在上方选项卡中选择 Qt Versions,并且点击右侧的添加
打开qmake.exe,路径是:C:\Qt\Qt5.9.0_MinGW_static\bin\qmake.exe
在上方选项卡中选择 构建套件 ,然后配置一个新的套件,参数如下
使用
创建工程,使用新配置的套件左下角,切换到release模式,直接编译
查看编译结果,运行
相关文章推荐
- Qt for Windows:Qt 5.8.0 MinGW 静态编译版本(包含OpenSSL)
- Qt for Windows:Qt 5.9.3 MinGW 静态编译版本(包含OpenSSL)
- Qt for Windows:Qt 5.8.0 MinGW 静态编译版本(包含OpenSSL)
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作
- Qt for Windows:Qt 5.6.0 MinGW 静态编译版本制作
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
- Qt for Windows:Qt 5.5 MinGW 静态编译版本制作带Mysql
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作
- QT 4.6 + mingw for windows (转贴加修改)
- Qt4.8.5 、Qt Creator、MinGW 4.4在win7 sp1 x64 下安装(也含Qt5.0以上版本windows下安装)
- Qt for Windows版本下编译QtDBus模块
- Qt 4.x Open Source (MinGW) for Windows安装
- Qt for Windows版本下编译QtDBus模块
- 安装PlayBook Qt开发工具:Qt Creator for Windows版本(beta)
- Qt:Windows10 64bit VMware虚拟机环境,基于Qt 5.6 MinGW,静态编译版本和Android环境
- Qt for Windows版本下编译QtDBus模块
- Qt 4.x Open Source (MinGW) for Windows安装
- windows下Eclipse+MinGW+Qt+c++配置安装解决方法
- Windows下编译OpenSSL for Ruby On Rails