VSCode下CMake使用

这其实是 VSCode 中 CMake Tools 插件提供的核心命令面板。

为了让你更直观地理解,我们可以把 CMake 的工作流程比作**"盖房子"**:

🛠️ CMake: 配置

  • 对应英文 :CMake: Configure
  • 比喻 :画施工图纸。
  • 作用 :
    • CMake 会读取你的 CMakeLists.txt 文件。
    • 检查你的编译器(如 GCC/MSVC)是否存在。
    • 检查库文件、头文件路径是否正确。
    • 生成构建系统文件(比如 Makefile 或 .sln 文件)。
  • 什么时候用 :
    • 第一次打开项目时。
    • 当你修改了 CMakeLists.txt 文件(比如添加了新的源文件、改变了 C++ 版本)时。
    • 当你想切换编译器(比如从 Debug 切换到 Release,或者换了一个编译器)时。

🔨 CMake: 生成

  • 对应英文 :CMake: Build
  • 比喻 :按照图纸动工盖房子。
  • 作用 :
    • 调用编译器(如 g++, cl.exe)真正地去编译代码。
    • 将 .cpp 文件编译成 .o 或 .obj 文件,最后链接成可执行文件(.exe)。
  • 什么时候用 :
    • 当你修改了代码 (.cpp 或 .h),想要看运行结果时。
    • 这是你日常开发中使用频率最高的命令。
    • 注意:如果在配置未完成的情况下直接构建,插件通常会自动先执行"配置"。

➕ CMake: 将生成目录追加到当前工作区

  • 对应英文 :CMake: Append Build Directory to Current Workspace
  • 作用 :
    • 默认情况下,CMake 的构建目录(通常是 build 文件夹)是隐藏在项目视图之外的,或者是作为一个普通的文件夹存在。
    • 执行这个命令后,VSCode 会把 build 文件夹作为一个独立的根目录显示在左侧资源管理器中。
  • 什么时候用 :
    • 当你需要深入查看编译产生的中间文件 (如 CMakeCache.txt、.o 文件、compile_commands.json)时,这个功能很方便。
    • 一般用户很少用到,除非你在调试 CMake 本身的问题。

🔄 CMake: 重置 CMake Tools 扩展状态

  • 对应英文 :CMake: Reset CMake Tools Extension State
  • 作用 :
    • 这是一个**"大招"**,用于修复 Bug。
    • 它会清除插件在 VSCode 中缓存的所有关于这个项目的状态信息(比如你之前选的编译器、构建变体等)。
    • 执行完后,项目会回到"刚打开"的状态,你需要重新进行"配置"。
  • 什么时候用 :
    • 当你发现 CMake 插件抽风了(比如一直报错、找不到编译器、配置不生效)。
    • 当你觉得环境配置乱了,想彻底重来时。

💡 总结:你的日常操作流

  1. 打开项目,修改代码。
  2. 按 F7 或选择 CMake: 生成。
  3. 如果报错说找不到文件或配置错误,先选 CMake: 配置 ,然后再选 CMake: 生成。
  4. 如果怎么都跑不通,选 CMake: 重置...,然后重新开始。
相关推荐
2501_915918418 小时前
iOS 推送通知怎么实现,从 APNs p8 密钥到 iOS 真机收到第一条推送
vscode·ios·objective-c·个人开发·swift·敏捷流程
sunshine22 girl1 天前
copilot vscode 使用技巧
人工智能·vscode·编辑器
2501_915909061 天前
Windows 打开 Xcode 工程,编译调试 Xcode 项目并和 Mac 同事协作
ide·windows·vscode·macos·ios·个人开发·xcode
2501_916007472 天前
Windows OpenSSL 生成 iOS 证书,制作 p12 与描述文件,KXBuild 签名实操
windows·vscode·ios·objective-c·个人开发·swift·敏捷流程
我要见SA姐12 天前
Chrome 内存泄漏诊断指南:从现象定位到根因排查
ide·vscode·python·自动化·编辑器
00后程序员张2 天前
Windows 开发 iOS App 入门,用 SwiftUI 写第一个 iOS App 装到 iPhone
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
Eiceblue3 天前
用 Python 给 Word 文档加水印:文字、图片与批量处理
开发语言·vscode·python·word
2501_915921433 天前
KXBuild CI 实操,Windows/Linux 服务器接入 Jenkins 打包 iOS IPA
服务器·windows·vscode·ios·ci/cd·个人开发·敏捷流程
Lhan.zzZ3 天前
用 Qt 构建线程安全的通讯静态库:从线程亲和性到完整工程
c++·vscode·qt·tcp/ip·udp
Halo10133 天前
VSCode设置护眼背景色
ide·vscode·编辑器