Qt6编译(MinGW-w64)

最后更新:

参考资料

下载源码包

安装build工具并配置相关环境变量

  • D:\Qt\Tools\mingw1120_64\bin
  • CMake Version 3.16 and newer (3.17 and newer for builds 3.21 and newer for builds)
  • Ninja
  • Python Version 3 Required build tool. Windows installers are available on python.org, or from the Microsoft Store.

验证build工具是否正确安装

  • 打开cmd(不要关闭)
  • 输入
    1
    2
    3
    4
    5
    6
    
     set PATH=D:\Qt\Tools\mingw1120_64\bin;%PATH%
     gcc -v
     g++ -v
     cmake --version
     ninja --version
     python -V
    

设定文件夹

  • F:\Qt\6.5.3\src 源码目录qt-everywhere-src-6.5.3.zip解压,并改名为src,放置于F:\Qt\6.5.3\src
  • F:\Qt\6.5.3\build-mingw_64 build目录(Release版本)
  • F:\Qt\6.5.3\build-mingw_64 build目录(Debug版本)
  • F:\Qt\6.5.3-static\mingw_64 最后安装目录(Release版本)
  • F:\Qt\6.5.3-static\mingw_64d 最后安装目录(Debug版本)

编译Release版本

  • 建立F:\Qt\qt6mingw_64.cmd文件,需设置好Qt源代码路径、mingw1120_64路径(D:\Qt\Tools\mingw1120_64\bin)

  • 建立cmd链接cmd-qt6mingw_64,并运行

    • 本步骤主要用途为
      1. 开启cmd.exe /E:ON /V:ON
      2. 将Qt源码相关路径加入PATH
    • /E:ON 启用命令扩展 详见[cmd.exe启动参数说明]
    • /V:ON 启用延迟的环境变量扩展
  • 输入

    1
    2
    
    F:
    cd Qt\6.5.3\build-mingw_64 
    
  • 依上述定位到F:\Qt\6.5.3\build-mingw_64

  • 依次执行命令

    1
    2
    3
    
    ..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\mingw_64" -release -DNDEBUG  #-DNDEBUG见常见错误
     cmake --build .    #不要忘记点
     cmake --install .  #不要忘记点
    

编译Debug版本

  • 关闭上述命令窗口,重新运行cmd链接cmd-qt6mingw_64
  • 输入
    1
    2
    
    F:
    cd Qt\6.5.3\build-mingw_64d   #注意路径有d
    
  • 依上述定位到F:\Qt\6.5.3\build-mingw_64d
  • 依次执行命令
    1
    2
    3
    
    ..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\mingw_64d" -debug -DNDEBUG  #注意路径有d,编译选项为-debug,-DNDEBUG见常见错误
     cmake --build .    #不要忘记点
     cmake --install .  #不要忘记点
    

编译(此段内容为历史记录,作废)

  • 在cmd中(上述不要关闭,否则要重新set PATH=D:\Qt\Tools\mingw1120_64\bin;%PATH%)

  • 本步骤在2023-11-23编译时未使用,查看官网文档可将上一步替换优化如下

    • 建立F:\Qt\qt6mingw_64.cmd文件,需设置好Qt源代码路径、mingw1120_64路径
    • 建立cmd链接cmd-qt6mingw_64,并运行
    • 比较后,本步骤主要用途为
      1. 开启cmd.exe /E:ON /V:ON
      2. 将Qt源码相关路径加入PATH
    • /E:ON 启用命令扩展 详见[cmd.exe启动参数说明]
    • /V:ON 启用延迟的环境变量扩展
  • 输入

    1
    2
    
    F:
    cd Qt\6.5.3\build-mingw_64 
    
  • 依上述定位到F:\Qt\6.5.3\build-mingw_64

  • 依次执行命令

    1
    2
    3
    
    ..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\mingw_64" -debug-and-release -DNDEBUG  #见常见错误
     cmake --build .    #不要忘记点
     cmake --install .  #不要忘记点
    

说明

  • 其中-static就是静态编译的意思,而后面的-debug-and-release,则表示将调试版、发行版都进行编译。
  • 等待配置完成后,再运行命令cmake –build .开始构建:
  • 然后就是慢慢等编译了,这个过程比较漫长,如果电脑配置较低,估计需要几个小时:
  • 编译完成后,继续运行命令cmake –install .即可将编译好的静态库安装到前面我们所指定的目录中去:
  • 此时你就可以删除前面的build文件夹,释放110多G的空间,它已经没用了。

常见错误

  • ERROR: Exactly one of NDEBUG and _DEBUG needs to be defined
  • 在configure.bat这个命令中,增加-DNDEBUG
    1
    
    E:\qt-everywhere-src-6.5.0\qtbase\configure.bat -top-level -release -no-pch -prefix "E:\Qt\Qt6.5.0" -skip qtwebengine -nomake tools -nomake tests -nomake examples -DNDEBUG
    

2023-11-23编译(已删除)

  • 环境:YPR-Desktop、Windows 11 pro 23H2、D:\Qt\Tools\mingw1120_64\bin、约20分钟、2.0GB
  • build文件夹约100多GB,已删除
  • 测试时程序无法Debug:带d版本在build文件夹中已编译,但在camke –install .时没有被复制过来,参考VS2022编译安装Qt6.4

2023-11-25编译

  • 环境:YPR-Desktop、Windows 11 pro 23H2、D:\Qt\Tools\mingw1120_64\bin、约15分钟(单独Release或Debug)、Release1.96GB+Debug37.9GB
  • 采用了cmd-qt6mingw_64,分别编译Release和Debug版本
  • build文件夹:Release55.8GB+Debug120GB,已删除
  • 存档:7z(9-极限压缩)
     转载说明:请附上本文链接及上述版权声明。