Qt5编译(MSVC)

最后更新:

参考资料

下载源码包

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

  • Visual Studio 2019或2022
  • These tools are not needed to run Qt 5 applications, but they are required for building Qt 5 from source.
    • Perl - Install a recent version of perl (for instance (https://strawberryperl.com/) and add the installation location to your PATH.
    • Python - Install Python from the here and add the installation location to your PATH.

验证build工具是否正确安装

  • 打开"x64 Native Tools Command Prompt for VS 2022"
  • 输入
    1
    2
    
     Perl -V
     python -V
    

设定文件夹

  • F:\Qt\5.5.11\src 源码目录qt-everywhere-opensource-src-5.15.11.zip解压,并改名为src,放置于F:\Qt\5.5.11\src
  • F:\Qt\5.5.11\build-msvc2019_64 build目录
  • F:\Qt\5.5.11-static\msvc2019_64 最后安装目录

编译

  • 建立F:\Qt\qt5vars.cmd文件,需设置好VS2022的bat路径(x64 Native Tools Command Prompt for VS 2022)、是否amd64、Qt源代码路径

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

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

    1
    2
    
    F:
    cd Qt\5.15.11\build-msvc2019_64
    

    依上述定位到F:\Qt\5.15.11\build-msvc2019_64 依次执行命令

    1
    2
    3
    
    ..\src\configure.bat -static -prefix "F:\Qt\5.15.11-static\msvc2019_64" -debug-and-release -nomake examples -nomake tests -skip qtwebengine -opensource
    jom          #按官方文档安装jom(是nmake的克隆,支持并行执行多个独立命令类似于GNU make的-j命令)               
    jom install
    

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

  • 打开"x64 Native Tools Command Prompt for VS 2022"

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

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

    1
    2
    
    F:
    cd Qt\5.15.11\build-msvc2019_64
    

    依上述定位到F:\Qt\5.15.11\build-msvc2019_64 依次执行命令

    1
    2
    3
    4
    
    #当使用上述qt5vars.cmd文件时,可省略此三行命令,因为已经在qt5vars.cmd文件中执行
    SET _ROOT=F:\Qt\5.15.11\src                                  
    SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
    SET _ROOT=
    
    1
    2
    3
    4
    5
    
    ..\src\configure.bat -static -prefix "F:\Qt\5.15.11-static\msvc2019_64" -debug-and-release -nomake examples -nomake tests -skip qtwebengine -opensource
    nmake          #2023-11-23实测较慢,可按官方文档安装jom(是nmake的克隆,支持并行执行多个独立命令类似于GNU make的-j命令),此步改为
                   #jom                 
    nmake install  #如上一步执行jom,此步应对应执行
                   #jom install
    

说明1

  • -static就是静态编译的意思,
  • -debug-and-release,则表示将调试版、发行版都进行编译。
  • -prefix 指定安装将会部署的位置,根据自己情况修改
  • -nomake examples 不需要编译示例
  • -nomake tests 不需要编译测试工程
  • -skip qtwebengine 暂时先不编译webengine模块,因为太大了
  • -opensource 开源版本
  • -confirm-license 是为了自动确认开源证书,免得到时暂停手动确认
  • -qt-zlib -ssl -icu 指示检测这些库,并在需要时使用
  • -opengl desktop 明确指示使用你windows上安装的opengl驱动来编译程序,但这样编译出的程序在别的电脑上运行时需要目标电脑上安装的opengl驱动能兼容你的程序
  • -platform win32-g++ 指明编译平台是windows,并使用mingw编译器
    • For Windows machines, either MinGW or Visual Studio toolchains can be used to compile Qt.
      1
      2
      
      configure.bat -platform win32-g++
      configure.bat -platform win32-msvc
      

说明2

  • 等待配置完成后(其间要输入y同意协议),再运行命令nmake jom开始构建:
  • 然后就是慢慢等编译了,这个过程比较漫长,如果电脑配置较低,估计需要几个小时:
  • 编译完成后,继续运行命令nmake install jom install即可将编译好的静态库安装到前面我们所指定的目录中去:
  • 此时你就可以删除前面的build文件夹。

2023-11-23编译

  • 环境:YPR-Desktop、Windows 11 pro 23H2、Visual Studio 2022、约1小时、1.58GB(有部分编译错误)
  • build文件约8.2GB,已删除
  • 未编译doc

2023-11-24编译

  • 环境:YPR-Desktop、Windows 11 pro 23H2、Visual Studio 2022、约15分钟、4.14GB
  • 采用了qt5vars.cmd、采用了jom和jom install
  • build文件约24GB,已删除
  • 未编译doc
  • 存档:7z(9-极限压缩)
     转载说明:请附上本文链接及上述版权声明。