一、本机环境介绍
1.1 硬件部分
- CPU:13th Gen Intel(R) Core(TM) i5-13500H
- 内存:16.0 GB 4800 MHz
- 磁盘:SAMSUNG MZVL21T0HCLR-00B00
1.2 软件部分
- Windows版本:Windows 11 23H2 22631.3155 Professional
- Visual Studio 2022: 17.8.4 Professional
- cmake:cmake version 3.27.1
- ninja:1.12.0.git
- Python:Python 3.11.4
- Perl:This is perl 5, version 38, subversion 2 (v5.38.2) built for MSWin32-x64-multi-thread
- jom
二、软件环境准备
2.1 下载链接
- 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
2.2 验证
上述软件均下载安装并添加到环境变量之后,打开cmd,输入以下命令:
cmake --version
ninja --version
python --version
perl --version
jom
上述五条命令均可以正常执行即可
三、开始编译Qt5.15.12
3.1 下载Qt源码
Index of /archive/qt/5.15/5.15.12/single
下载zip包即可
3.2 解压源码
- 将上述压缩包你希望存放Qt的目录,右键解压到此处
3.3 编译
- 打开vs2022交叉编译终端,并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
4.1 下载并解压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 .
五、使用编译好的Qt
以我自己的项目为例介绍如何使用吧:
GitHub - junuo-S/kmshare: 一个小工具,用以支持键鼠流转
可以仔细阅读README.md部分关于编译的部分,配合我自己封装的cmake子仓库使用挺方便的。
CMakeLists.txt参照kmshare项目中的写法即可。
当然如果想纯自己写CMakeLists.txt也没有任何问题,指定好Qt的目录,让cmake能够找得到即可。