[原创] 《CMake 构建实战-项目开发卷》实战分享2— Windows-Linux 搭建环境

CoderX9527   2024-10-29 12:01 楼主
 

简介

演示1:在 Windows 平台搭建 CMake 开发环境,结合 Visual Studio 2022 和 Qt6 的 mingw 编译器。
演示2:在 Linux 平台搭建 CMake 开发环境,结合 GCC 编译器。

Windows 平台

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

Linux 平台

安装 CMake 和 GCC 的方法就不赘述了。
这里演示以命令行调用 cmake 配置、生成工程、执行编译。
新建 build/ 目录
wd_120124kdnnp5qyqepnnbni.png

在 build/ 目录中输入 cmake –S .. -B . 开始配置、生成项目

wd_120124ru05f9rrdf4udu8h.png

输入 cmake --build . 开始编译项目

wd_120124uvujkkzgzuat0uaa.png

运行结果如下所示:

wd_120124gww7n7w7fmf1tzg0.png
 

回复评论 (2)

学习了,谢谢楼主的实战分享,《CMake 构建实战-项目开发卷》

点赞  2024-10-29 15:13

windows上面vcpkg+cmake挺方便的

默认摸鱼,再摸鱼。2022、9、28
点赞  2024-10-29 15:58
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复