简介
演示1:在 Windows 平台搭建 CMake 开发环境,结合 Visual Studio 2022 和 Qt6 的 mingw 编译器。
演示2:在 Linux 平台搭建 CMake 开发环境,结合 GCC 编译器。
Windows 平台
特别说明:在 Windows 平台基于 VS Code 编辑器,安装 CMake Tools 工具,开发基于 CMake 的C程序,简直不要太爽。
- 安装软件清单
- CMake
- Visual Studio 2022
- 安装 Qt6.5.2 (选择带有 mingw 编译的版本)
- VS Code 并安装插件 CMake Tools 和 CMake 两个插件
- ninja 绿色版本 或者 xpack-windows-build-tools-4.3.0-1
软件清单中的1/2/3/4 都好理解,也容易安装,从官网下载,一路 NEXT 即可。第5条 ninja 和 xpack-windows-build-tools 会让初学者有点迷,其实这两个都是CMake 支持的生成器。
在命令行输入 cmake --help 就可以列出当前 CMake 版本支持的生成器,如下图所示(这里仅截取了一部分):
- ninja
下载地址参见 github 官方地址:
https://github.com/ninja-build/ninja/releases
这个软件是绿色版本,下载解压到磁盘某个目录,然后添加到环境变量 PATH 中。
- xpack-windows-build-tools
其实就是 Windows 版本的 make 工具,可以在Windows 平台处理 Makefile 文件调用 GCC 版本编译器。
官方地址如下
https://github.com/xpack-dev-tools/windows-build-tools-xpack/releases
这个软件也是绿色版本,下载解压到磁盘某个目录,然后添加到环境变量 PATH 中。
如下图所示,我已经把 ninja / Qt6 / 和 xpack-windows-build-tools 添加到了 PATH 变量中。
- 源代码工程简介
写了一个简单的C语言程序,根据检查编译器版本信息并打印,最后输出一个 hello CMake beginner 字符串。代码如下如下:
对应的 CMakeLists.txt 非常简单,只有三个命令,如下所示:
- VS Code 中实操
- 确保 CMake Tools 在下方状态栏显示
鼠标右键 VS Code 下方的状态栏,然后勾选 CMake Tools (Extension) 确保显示 CMake Tools 工具条。
- 选择编译器工具链
如下图所示,先鼠标点击下方的工具链选择按钮,然后 VS Code 在上方弹出工具链列表,这里选择 Qt6.5.2 对应的 GCC 版本编译器。
- 自动配置、生成工程
然后 CMake Tools 工具自动根据编译器工具链配置工程并生成工程,如下图所示。
- 手动配置、生成工程
按下快捷键 Ctrl+Shift+P 弹出 VS Code 命令窗口,输入 cmake 即可以弹出 CMake Tools 支持的所有命令。
例如 CMake: Configure 配置工程 (会自动生成工程);
CMake: Build 自动构建项目;
CMake: Run Without Debugging 自动运行生成的目标文件
- 运行示例
当前配置的编译器是Qt6.5.2 的 mingw GCC 编译器,先按照上面的命令 CMake: Build 然后 CMake: Run Without Debugging 结果如下:
修改编译器为 Visual Studio Community 2022 ,再次编译运行,结果如下:
两次运行,结果对比可以看出CMake 管理同一套代码真的很简便,切换编译工具非常简单,只需要指定不同的生成器即可。
Linux 平台
安装 CMake 和 GCC 的方法就不赘述了。
这里演示以命令行调用 cmake 配置、生成工程、执行编译。
新建 build/ 目录
在 build/ 目录中输入 cmake –S .. -B . 开始配置、生成项目
输入 cmake --build . 开始编译项目
运行结果如下所示: