VS2019编译 Qt5.15.12 和 Qt6.5.3

发布于:2024-05-08 ⋅ 阅读:(25) ⋅ 点赞:(0)

参考链接:

Windows平台编译Qt5.15.12、6.5.3过程记录_qt 5.15 版本-CSDN博客

软件环境准备

    Windows:MSDN系统库-致力于原版windows生态服务
    Visual Studio 2022:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux
    cmake:Download CMake
    ninja:GitHub - ninja-build/ninja: a small build system with a focus on speed
    Python:Download Python | Python.org
    Perl:https://strawberryperl.com/
    jom:http://download.qt.io/official_releases/jom/jom.zip

环境验证

上述软件均下载安装并添加到环境变量之后,打开cmd,输入以下命令:

cmake --version

ninja --version

python --version

perl --version

jom -j4

上述五条命令均可以正常执行即可


开始编译Qt5.15.12
下载Qt源码

Index of /archive/qt/5.15/5.15.12/single

下载zip包即可
解压源码

    将上述压缩包你希望存放Qt的目录,右键解压到此处

编译

    打开vs2019交叉编译终端,并cd到压缩包所在目录:
    在此目录下新建build目录,并cd进入build目录


配置Qt

"../qt-everywhere-src-5.15.12/configure.bat" -static -prefix "../5.15.12_installed" -debug-and-release -platform win32-msvc -nomake tests -nomake examples

     命令介绍:

    -static: 表示编译为静态库,如需编译为动态库请忽略此选项
    -prefix: 表示后续Qt安装目录
    -debug-and-release: 编译debug和release,如需只编译debug,那么-debug即可。release同理
    -platform: 表示使用win32-msvc。这是Qt规定的选项之一
    -nomake tests: 不编译test模块
    -nomake examples: 不编译examples模块

    配置过程中可能会要求选择许可协议并同意许可协议,按照提示输入即可
    配置完之后,执行jom编译
    编译完之后,执行jom install 即可安装到上述-prefix参数指定的位置,此时build文件夹就可以删掉了

开始编译Qt6.5.3
下载并解压Qt源码

Index of /archive/qt/6.5/6.5.3/single

同上
4.2 编译

"../qt-everywhere-src-6.5.3/configure.bat" -static -prefix "../6.5.3_installed" -debug-and-release -platform win32-msvc

    -static: 表示编译为静态库,如需编译为动态库请忽略此选项
    -prefix: 表示后续Qt安装目录
    -debug-and-release: 编译debug和release,如需只编译debug,那么-debug即可。release同理
    -platform: 表示使用win32-msvc。这是Qt规定的选项之一

    打开vs2022交叉编译终端,并cd到压缩包所在目录,同上
    在此目录下新建build目录,并cd进入build目录
    配置Qt:
    命令介绍:
    配置完之后,执行以下命令编译:

cmake --build . --parallel 16

    --parallel 16表示16核心一起编译
    编译完之后,执行以下命令 即可安装到上述-prefix参数指定的位置,此时build文件夹就可以删掉了

cmake --install .

**********注意********************************************************************

1. 源码路径不要太深,越短越好。

2. 多线程编译时,线程数不要太多. 我编译时指定的4线程,即: jom -j4。

3. 使用和Qt匹配的VS版本。