Qt 5.12.12 静态编译(MinGW)

前置准备

系统环境

版本	Windows 11 专业版
版本	22H2
安装日期	‎2023/‎6/‎18
操作系统版本	22621.2428
体验	Windows Feature Experience Pack 1000.22674.1000.0

依赖工具

gcc

Qt 5.12.12 安装 MinGW 后自动安装
https://download.qt.io/archive/qt/5.12/5.12.12/qt-opensource-windows-x86-5.12.12.exe
Qt 5.12.12 静态编译(MinGW)_第1张图片
Qt 5.12.12 静态编译(MinGW)_第2张图片

Perl

https://www.perl.org/get.html​ 下载 Strawberry Perl,并安装
Qt 5.12.12 静态编译(MinGW)_第3张图片

Python

https://www.python.org/downloads/

python

Qt 源码(5.12.12)

https://download.qt.io/archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.zipQt 5.12.12 静态编译(MinGW)_第4张图片

开始编译

源码准备

将上述下载的 qt-everywhere-src-5.12.12.zip 源码解压至 D:\Qt\qt-everywhere-src-5.12.12 目录

生成编译文件

cd D:\Qt\qt-everywhere-src-5.12.12

configure.bat -static -release -platform win32-g++ -opensource -confirm-license -prefix "D:\Qt\Qt5.12.12\5.12.12\mingw73_64_static" -qt-zlib -qt-libpng -qt-webp -qt-libjpeg -qt-freetype  -no-opengl -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtlocation -skip qtlottie -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquick3d -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtsensors -skip qtspeech -skip qtsvg -skip qtwayland -skip qtwebglplugin -skip qtwebview -skip webengine -make libs -nomake tools -nomake examples -nomake tests

# 上述命令中 D:\Qt\Qt5.12.12\5.12.12\mingw73_64_static 为需要安装的目录

编译

mingw32-make -j16

# 使用 16 个线程编译

安装

mingw32-make install

Qt 5.12.12 静态编译(MinGW)_第5张图片

修改 conf 文件

修改安装目录下的 mkspecs\common\g++-win32.conf,例:D:\Qt\Qt5.12.12\5.12.12\mingw73_64_static\mkspecs\common\g++-win32.conf
Qt 5.12.12 静态编译(MinGW)_第6张图片

  • 新增 QMAKE_LFLAGS = -static
  • QMAKE_LFLAGS_DLL = -shared 修改为 QMAKE_LFLAGS_DLL = -static
    Qt 5.12.12 静态编译(MinGW)_第7张图片

Qt Creator 配置

添加 Qt 版本

打开 工具 > 选项
Qt 5.12.12 静态编译(MinGW)_第8张图片
Kits 中选择 Qt Versions添加 刚才编译安装的 qmake
Qt 5.12.12 静态编译(MinGW)_第9张图片

添加套件

Kits 选择一个套件(MinGW 64-bit)进行克隆
然后选择克隆后的套件,修改 Qt version 为刚才编译安装的版本
Qt 5.12.12 静态编译(MinGW)_第10张图片

测试

在项目中选择刚刚添加的套件,进行 build
Qt 5.12.12 静态编译(MinGW)_第11张图片

编译结果
Qt 5.12.12 静态编译(MinGW)_第12张图片

参考

  • https://blog.51cto.com/DreamLife/5357055 Qt 静态编译(5.15.2 MinGW 32-bit)
  • https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW Building a static Qt for Windows using MinGW
  • https://tadeubento.com/2020/qt-static-builds-under-windows/ Qt: Static Builds Under Windows

你可能感兴趣的:(开发,qt,开发语言,静态编译,MinGW,C++,GUI)