QT静态编译程序(Mingw编译)
1. 为什么要静态编译程序?
在默认情况下,用QtCreator编译程序时,使用的是动态编译,这就导致编译好的程序在运行时需要另外加上相应的Qt库文件,以及一大堆dll文件。如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,并且可以在一台没有开发环境的电脑上运行,那就需要使用静态编译。
2. 运行环境
Windows10
QT Creator 4.11.0
QT 5.14.0 + Python 3.6 + gcc 7.3.0 + perl 5.22.1
3. 实现步骤
(1)安装QT
QT5.14.0下载地址:http://download.qt.io/archive/qt/5.14/5.14.0/
选择图中所示版本下载
安装QT时,记得勾选“Sources”
(2)安装Perl
下载地址:https://www.perl.org/get.html
推荐下载Strawberry Perl,因为相比于ActiveState Perl,它不用注册就可以直接下载
安装目录:D:\SoftwareInstall\StrawberryPerl\perl
环境变量安装过程自动添加的,如果没有添加,手动添加:
D:\SoftwareInstall\StrawberryPerl\perl\site\bin
D:\SoftwareInstall\StrawberryPerl\perl\bin
(3)安装Python
安装过程记得勾选添加PATH环境变量
安装目录:D:\SoftwareInstall\Python3.6
环境变量安装过程自动添加的,如果没有添加,手动添加:
D:\SoftwareInstall\Python3.6\Scripts
D:\SoftwareInstall\Python3.6
(4)安装环境检查
打开QT 5.14.0(MinGW 7.3.0 32-bit)
输入以下命令检查gcc编译器配置是否正确
gcc -v
输入以下命令检查perl解释器配置是否正确
perl -v
输入以下命令检查python配置是否正确
python
输入exit()或者ctrl+z退出python
(5)配置静态比编译QT信息
在D:\SoftwareInstall\Qt5.14.0\5.14.0新建一个文件夹mingw73_32_static,用于存放编译后的文件
切换到QT的源码目录D:\SoftwareInstall\Qt5.14.0\5.14.0\Src
输入以下命令:
configure.bat -static -release -confirm-license -opensource -opengl desktop -platform win32-g++ -prefix "D:\SoftwareInstall\Qt5.14.0\5.14.0\mingw73_32_static" -sql-sqlite -sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -make libs -nomake tools -nomake examples -nomake tests -skip qt3d -skip qtcanvas3d -skip qtdatavis3d -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview
(6)开始编译(时间较长,大约3-4小时)
在第(5)步配置完毕并且没有输出错误信息时,即可开始编译,在刚才的命令行窗口输入以下命令进行编译:
mingw32-make
若电脑性能较好,可以使用多线程进行编译:
mingw32-make -j2
ps:这里使用的是2个线程
(7)安装
在编译完成后,在刚才的命令行窗口输入以下命令进行安装:
mingw32-make install
安装完成后,便可以在mingw73_32_static中,看到如下内容:
(8)相关配置
修改D:\SoftwareInstall\Qt5.14.0\5.14.0\mingw73_32_static\mkspecs\common\g+±win32.conf
在conf文件中新增QMAKE_LFLAGS = -static
在conf文件中修改QMAKE_LFLAGS_DLL = -static
(9)QT Creator中配置静态编译器
工具->选项
克隆一个原来的,并修改以下标红框的选项
上一篇: MySQL存储过程中的IN,OUT,INOUT类型_MySQL
下一篇: 尺取法
推荐阅读
-
Qt最新版5.12.2在Win10环境静态编译安装和部署的完整过程(VS2017)
-
minGw64编译Qt时遇到too many sections问题
-
Qt 应用之 MinGW编译安装GLEW
-
Qt项目中使用Android ndk编译 armeabi-v7可用的protobuf v3.12.3 静态库
-
Qt最新版5.12.2在Win10环境静态编译安装和部署的完整过程(VS2017)
-
QT静态编译程序(Mingw编译)
-
minGw64编译Qt时遇到too many sections问题
-
Windows编译静态版Qt5.9.2过程记录
-
windows下msvc/mingw静态编译 lmdb的CMakeLists.txt
-
VS2013编译Qt5.2.0 32位静态库debug