Qt建议安装动态链接Dbug版和编译安装静态链接release版
前提:
先安装动态链接Dbug版,方法:QT5.10开发(1)安装QT5.10
地址:http://blog.csdn.net/qq_15304853/article/details/79165301
然后编译静态链接release版,方法:
1 准备工作
1.1 编译环境
Windows 10 (Multiple Editions), Version 1703 (Updated July 2017) (x64)
1.2 建立文件夹结构
假设之前已安装Qt存放在D:pg-Qt目录下,该目录此时内容应如下:
进入5.10.0目录,新建目录:mingw53_32_static 和 qt_build_mingw53_32_static,结果如下
1.3 准备源码
如果之前安装时选择连源码一起安装,则此时源码已经在:D:\pg-Qt\5.10.0\Src目录下了,参见上图。
如果为选择连源码一起安装,则可从Qt官网下载:http://download.qt.io/official_releases/qt/5.10/5.10.0/single/ 下载的qt源码包“qt-everywhere-src-5.10.0.tar.xz”,解压后,放在硬盘的根目录。例如:“F:\qt-everywhere-src-5.10.0 ”
注:如果qt源码目录的路径比较长会导致编译qtimageformats时出现 无法打开编译器生成的文件“”:Invalid argument的错误,所以放在根目录下,尽量减少路径长度。
2 安装编译所需的工具(直接在360软件宝库搜索安装)
1、python 2 ,官网“https://www.python.org/downloads/” 本次测试编译版本为python-2.7.13。
不安装在配置qt时会提示:WARNING: Python version 2 (2.7.5 or later) is required to build QtWebEngine.
2、Ruby ,官网“http://www.ruby-lang.org/en/downloads/” 本次测试编译版本为Ruby-1.9.2。
3 ActivePerl,官网“https://www.activestate.com/activeperl/downloads”本次测试编译版本ActivePerl-5.24.1.2402
如果不编译qtwebkit,就不用安装ActivePerl了。
注意:安装时必须选择“建立环境变量”选项。,也可以手动建立,我的如下:
3 配置Qt
3.1准备openssl
下载别人专门为Qt编译好的openssl,地址 http://www.cnblogs.com/findumars/p/6372223.html,下载后解压OpenSSL的zip压缩包(openssl-1.0.1c_static_w32_mingw.zip)后放置:D:pg-Qt目录下,此时路径为:D:pg-Qt\openssl-1.0.1c_static_w32_mingw
也可以自己编译,参考:
静态编译OpenSSL并整合到Qt
http://blog.csdn.net/lixiaoxin1989/article/details/78421573
Windows 下编译 OpenSSL
http://blog.csdn.net/liang19890820/article/details/51658574
openSSL1.1.1的编译
http://blog.csdn.net/lostspeed/article/details/69492531
3.2
打开终端,开始==》程序==》Qt5.10.0==》Qt 5.10.0 for Desktop (MinGW 5.3.0 32 bit)进入命令窗口
3.3 检查命令执行情况
以管理员用户运行windows 命令行。
1)运行命令“gcc –v” 确保编译器能够正常运行;
2)运行命令“perl –v”确保perl能够正常运行;
3)运行命令“ruby –v”确保ruby能够正常运行;
4)运行命令“python”确保python能够正常运行,按“Ctrl+Z”结束运行;
5)运行命令“sh”确保该命令不能执行,其会影响ming32-make的执行。
3.4使用shadow-build配置Qt
输入命令:
D :
cd D:\pg-Qt\Qt5.10.0\qt_build_mingw53_32_static
在该目录下运行下面命令:
F:\qt-everywhere-src-5.10.0\configure.bat -static -release -confirm-license -opensource -opengl desktop -platform win32-g++ -prefix "D:\pg-Qt\5.10.0\mingw53_32_static" -sql-sqlite -sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -make libs -nomake tools -nomake examples -nomake tests -openssl-linked OPENSSL_LIBS="-llibssl -llibcrypto -lgdi32" -L D:\pg-Qt\5.10\openssl-1.0.1c_static_w32_mingw -I D:\pg-Qt\5.10\openssl-1.0.1c_static_w32_mingw\include-skip qt3d -skip qtcanvas3d -skip qtdatavis3d -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextra
1)如果不需要包含OpenSSL,去掉-openssl-linked OPENSSL_LIBS="-llibssl -llibcrypto -lgdi32" -L D:\pg-Qt\5.10\openssl-1.0.1c_static_w32_mingw -I D:\pg-Qt\5.10\openssl-1.0.1c_static_w32_mingw\include
2)我跳过了一下包,如果你需要这些,去掉-skip qt3d -skip qtcanvas3d -skip qtdatavis3d -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextra
参数说明:
-confirm-license -opensource :使用开源许可
-opengl desktop :桌面版
-platform win32-g++ :生成的编译器类型为:windows C++编译器
-release :生成的编译器可编译产品: 发布版
-static :生成的编译器为 静态链接编译器
-static-runtime:生成的编译器使用静态运行时库
-nomake tools:不编译tools
-prefix "5.10.0-desktop-mingw53-rel-static" :生成的编译器安装位置
注:
如果出错,将D:\pg-Qt\5.10.0\qt_build_mingw53_32_static下文件全部删除,重新configure
1)通过shadow-build方法配置可实现源码和编译产生的文件如Makefiles, object files和其他中间文件的彻底分离。编译文件存放在:D:\pg-Qt\5.10.0\qt_build_mingw53_32_static
2) 也可以直接切换到F:\qt-everywhere-src-5.10.0\目录,
3) 然后执行:configure.bat -static -release -confirm-license -opensource -opengl desktop -platform win32-g++ -prefix "D:\pg-Qt\5.10.0\mingw53_32_static " -sql-sqlite -sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -make libs -nomake tools -nomake examples -nomake tests -openssl-linked OPENSSL_LIBS="-llibssl -llibcrypto -lgdi32" -L D:\pg-Qt\5.10\openssl-1.0.1c_static_w32_mingw -I D:\pg-Qt\5.10\openssl-1.0.1c_static_w32_mingw\include-skip qt3d -skip qtcanvas3d -skip qtdatavis3d -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextra
4) 但产生编译文件在F:\qt-everywhere-src-5.10.0\中
配置没有错误后的输出结果类似下图,不过最好检查自己需要的模块是否为yes:
4 编译Qt库
运行下面命令编译Qt库
mingw32-make
过程较长,我安装时没有跳过东西,用了8小时!
注:若前面编译过Qt库,需执行下面命令,mingw32-make clean清除(该方法为官方文档推荐方法,本人推荐直接删除“D:\pg-Qt\\5.10.0\qt_build_mingw53_32_static”文件夹下的全部内容重新配置,这样更彻底、快速)。
5 安装Qt
mingw32-make install
6 配置Qt库
1. 把编译的静态Qt库放到 动态的Qt库所在目录,直接复制动态Qt库\bin目录下的qt.conf文件,或在静态库\bin目录下建立qt.conf文件,里面输入以下内容:
[Paths]
Prefix=..
2. 打开D:\pg-Qt\5.10.0\mingw53_32_static\mkspecs\win32-g++\qmake.conf,
找到 QMAKE_LFLAGS_DLL
将后面都改成 -static
再加一行 QMAKE_LFLAGS
后面也改成 -static
结果:
QMAKE_LFLAGS = -static
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
QMAKE_LFLAGS_EXCEPTIONS_OFF =
QMAKE_LFLAGS_RELEASE = -Wl,-s
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL = -static
3. 复制动态库中的bin/qmlscene.exe到静态库的bin文件夹中。否则在Qt Creator中添加Qt库时会报qmlscene未安装的错误。
4. 从动态链接版的Qt库的bin文件夹中复制Qt5Core.dll到静态链接版的lib文件夹中。
注:① 如果不执行此步,在Creator的Qt Version中将会显示“x86-windows-unknown-pe-32bit”。
5. 拷贝qml文件
因为一些我还没了解的原因,编译出来的Qt,在D:\pg-Qt5.10.0\mingw53_32-static\qml\QtQuick\Controls目录下是没有.qml文件,如下图,左边为普通的版本,右边为静态编译版本Qt。右边qml文件一个都没有。所以,这些qml文件都需要手动拷贝下。
7 集成到Qt Creator 中
工具--选项--构建和运行
在Qt Versions选项卡中添加D:\pg-Qt\5.10.0\mingw53_32_static\bin\qmake.exe静态配置后,点击“Apply”按钮。
在Kit选项卡中按下图配置。
8使用该 “windows静态链接库 ”套件编译出项目的release版静态链接软件
创建或打开项目-进入项目-点击“项目”-配置使用该库
点击-运行。
参考资料
(1) http://doc.qt.io/qt-5/windows-support.html
(2) http://doc.qt.io/qt-5/windows-requirements.html
(3) http://doc.qt.io/qt-5/windows-building.html
(4) http://doc.qt.io/qt-5/configure-options.html
(5) http://blog.csdn.net/lixiaoxin1989/article/details/53838277
(6) http://blog.csdn.net/wsj18808050/article/details/72862478
(7) Qt for Windows:Qt 5.9.0 MinGW 静态编译版本(包含OpenSSL)
http://blog.csdn.net/wsj18808050/article/details/72862478
VS2015 一键编译 QT5.10.1 X64位 静态库 MT
1662
从这里下载 http://download.qt.io/archive/qt/ 最新版本,现在是 5.10.1 点击进入 Single 目录,下载源代码 qt-everywhere-src-5.10.... 来自: dbyoung
VS2017+QT5.10编译QT静态库
3144
VS2017+QT5.10编译QT静态库 来自: Devout prayer的博客
Qt for Windows:Qt 5.6.0 MinGW 静态编译版本制作
2.4万
本文将讲述如何在Windows系统中,Qt源码,编译并且安装,以制作出一个可以一键静态编译Qt版本 我使用的环境是:Windows10 64位 专业版 Qt使用的是:Qt 5.6.0 for An... 来自: Jason’s home
下载 QT5.10.1静态编译版本 03-06
在Windows 10下使用MinGW静态编译QT5.10.1之后打包上传到百度网盘的地址,楼主用I5 4200编译了4个多小时。。分享出来方便大家,按照http://blog.csdn.net/sp
QT中 No such file or directory的解决办法
7748
报错具体情境: 使用D:\Qt\Qt5.8.0\5.8\mingw53_32> 终端进行编译程序,步骤如下: qmake -project //生成CH01.pr... 来自: IT张先生
QT 命令编译:mingw53_32到cpp目录下,qmake -project,qmake,make
40
QT 命令编译:mingw53_32到cpp目录下,qmake -project,qmake,make 来自: qq_32412403的博客
多版本Qt程序的编译注意问题
2487
今天研究了一下有些程序为啥在我的电脑上没法运行。经过一天的尝试,终于发现了问题所在。原来我的电脑里面为了兼容我以前的程序,下载了好多Qt版本,因此里面也包含了好多不同的编译器,其中有StrawBerr... 来自: 冬之晓
Qt5.9.2 (MinGW5.3.0 32bit)+ opencv3.3.1 环境配置
1110
安装Qt 注册帐号,Qt对于个人用户处于研究和学习使用是免费的,安装的时候需要登陆帐号。注册地址: https://www1.qt.io/download-open-source-access/ 下载... 来自: Sin1997的博客
编译OpenCV(CMake+Mingw492_32(Qt5.5自带)+OpenCV3.0)
1377
1、准备原料:CMake,OpenCV,Mingw(我的Mingw是使用Qt5.5的mingw版本里面自带的mingw) cmake:http://www.cmake.org/download/ ... 来自: Duino的工具箱
Win10下使用mingw64编译Qt5.5.0
7454
计算机系统:Win10(64bit) Qt版本:5.5.0 编译器:MinGW4.9.2 关于编译器的选择,我之前使用5.1.0编译一直失败,所以参考http://blog.csdn.net/q... 来自: an505479313的博客
文章热词 Windows Windows教程 Windows课程 Windows视频教程 Windows课程 相关热词 mingw windows 编译c++ qt5.10 开发android c++ mingw 编译命令 5.10怎样使用 dev-c++ android编译打印详细编译信息 python的学习详细过程 python基础教程(第2版
《QT - QT开发笔记》第3章 Qt项目建立、编译、运行和发布过程解析(QT5.10.1)
209
(项目创建->源码编译->程序运行->发布程序. 主体内容将按照下图中所示路线进行阐述: 图1... 来自: 不问归期的博客
关注
ruyulin
73篇文章
排名:千里之外
关注
天王
620篇文章
排名:423
关注
weixin_37653181
1篇文章
排名:千里之外
关注
匠go
13篇文章
排名:千里之外
QT5生成和使用静态库
5574
一:静态库和动态库的区别静态库和动态库的主要区别在于引用后使用的阶段。 静态库在编译的时候加载使用,运行的时候就不需要静态库了。 动态库又称为共享库,是在运行的时候加载使用的,所以在程序运行的时候... 来自: 学而时习之
QT5.10开发(1)安装QT5.10
9357
一、QT软件下载 Qt 5.9 之后的安装包与之前相比,不再区分 VS 版本和 MinGW 版本,而是全都整合到了一个安装包中。因此,与之前的安装包相比,体积也是大了不少,以前是 1G 多,现在是 2... 来自: 昕*water的博客
VS2013编译Qt5.4静态
2906
设置了一天,这静态编译也总算是虐出来了。。。Qt 的静态编译简直不要太麻烦啊。。。 感谢这位大神提供的方法 http://zerooverture.com/tutorials/qt/737.html ... 来自: 潘卓夫
老股民酒后无意说漏:20年炒股 坚持只看1指标!
东正金融 · 燨燚
QT5.10开发(2)QT入门了解及Demo介绍笔记
3232
什么是QT QT是一个跨平台C++图形用户界面应用类库框架。也就是GUI编程。当前最新版本5.10. 支持的平台 windows linux mac ios android QT的优点... 来自: ruyulin的博客
Qt第二天——静态版本编译
3385
上篇介绍了QT开发的基本知识——环境搭建,相信大家已经最qt开发有所了解,但是不管是msvc、mingw,都是使用qt的相关动态库进行编译的,因此,我们做出来的应用程序若是换到一台没有安装... 来自: jianghuan0122的博客
OpenCV3.3 + Qt 5.10 + Window10环境配置(mingw)
845
这是一个复杂且漫长的过程。网上找了许多文章,最后发现最好的文章就是Qt官网的帮助文档。链接:https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windo... 来自: keemma的博客
opencv_contrib-4.0.0-mingw53_32
下载
11-20
opencv_contrib-4.0.0-mingw53_32。包含Debug/Release,x86。WITH_QT。
opencv343-mingw53_32
下载
10-29
opencv343-mingw53_32。可在QT creator中使用。包含opencv_contrib模块。Debug/Release。
opencv mingw-32 编译常见问题
30
OpenCV使用CMake和MinGW的编译 常见问题见最后 前言 本篇文章是介绍使用32在GW在Windows下编译OpenCV 生成32位的DLL 关于使用 64 位的 MinGW 编译 O... 来自: lx0307的博客
windows下 Qt-Mingw32(32bit) opencv4源码编译
39
为了省事的伙计可以直接下载我编译好的库包 https://download.csdn.net/download/qq_24423085/10736710 配置一下 bin 目录的环境就OK了。 1. ... 来自: Open_Source_FunNing的博客
MinGW最新离线安装包(2013-7-16最新)
下载
07-16
将下载的rar文件保存在“MinGW安装路径\var\cache\mingw-get\packages”目录下。再重新运行mingw-get-inst-20120426.exe安装即可 包含的组件:
MINGW64位编译QT
---------------------
作者:昕water-浅梦-windy萱雨
来源:CSDN
原文:https://blog.csdn.net/qq_15304853/article/details/79184589
版权声明:本文为博主原创文章,转载请附上博文链接!