Windows下QT静态编译配置教程

安装Qt 5.12.10,可以只安装QtCreator模块,也可以安装所有组件,建议安装全部组件(懒得截图了),安装路径 D:\Qt

注意:安装的时候需要勾选安装源码(如果是全选,请忽略)。

安装VS2022,建议组件全选,以后难得补插件,当然也可以只安装需要组件(C++)默认安装即可,最好全选(C++).

安装CMake:安装时将CMake添加到环境变量中。

 下载并安装Python,最新版本即可

        我选择的是python-3.5.1.exe

        安装包:https://www.python.org/ftp/python/3.5.1/python-3.5.1.exe

        官网地址:Download Python | Python.org

  1. 安装Perl

        我选择的是ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi

        安装包:Download & Install Perl - ActiveState

        官网地址:Download & Install Perl - ActiveState

检查环境是否安装完全

找到对应Qt的命令行程序,并打开

 输入以下命令看看 gcc 编译器是否配置正确:输入 gcc –v

再输入以下命令看看perl解释器是否配置正确:输入perl –v

 输入以下命令看看python是否配置正确: python

 [Ctrl + C]或者[Ctrl + Z然后Enter] 可以退出python

配置

Qt切换到Qt的源码目录:我的路径是:D:\Qt\5.12.10\Src

 根据自己路径修改

运行命令:加粗红色为生成静态编译结果文件目录,自行修改为自己要保存静态编译文件的目录:

configure.bat -confirm-license -opensource -platform win32-g++ -mp -debug-and-release -static -prefix “D:\Qt\5.12.10\mingw73_32_static” -qt-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests

注:如果要跳过某些模块编译,如跳过了qtwebengine、qtwebview、qt3d、wayland如果需要这些模块可以加上-skip:

configure.bat -confirm-license -opensource -platform win32-g++ -mp -debug-and-release -static -prefix “D:\Qt\5.12.10\mingw73_32_static” -qt-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebengine -skip qtwebview -skip qt3d

编译

在当前命令窗口继续输入命令:mingw32-make  这里推荐单线程编译,不容易出问题。

(多线程编译命令:mingw32-make -j6  其中j6 表示启动6个线程。)安排好时机,编译时间估计2小时以上。

 等待编译完成后输入指令安装静态库。

在此命令窗口上,继续执行命令:mingw32-make install

等待执行完成后,静态编译文件就在D:\Qt\5.12.10\mingw73_32_static此目录下了。

QtCreator新增静态编译

打开Qt Creator -> tools -> options -> Kits ->Qt Versions

点击Add,直接到你静态文件的目录D:\Qt\5.12.10\mingw73_32_static\bin

下选择 qmake.exe  如果是拷贝的qt_static则为D:\qt_static\build\bin

如果你是拷贝的 qt_static则直接指向此文件夹下bin下的qmake.exe

 添加套件Kit。

 

修改配置文件

D:\ QT\你的路径\mingw73_32_static\mkspecs\common\gcc-base.conf

添加 QMAKE_LFLAGS = -static

D:\ QT\你的路径\mingw73_32_static\mkspecs\common\g++-win32.conf

QMAKE_LFLAGS_DLL 由 -shared 改为 –static

然后工程编译时,选择你创建的套件kit 即可。


版权声明:本文为u012402739原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。