627 字
3 分钟
VS Code + CMake + vcpkg 配置笔记
配置笔记
这篇文章不是那种一步到位的官方教程,更像我自己搭环境时留下来的笔记。重点很简单: 在 Windows 下把 VS Code、CMake 和 vcpkg 这套组合跑通,少踩一些我踩过的坑。
先搞清楚三件事
- vcpkg: 负责把第三方库装好,省去手动配置依赖。
- CMake: 负责组织工程和生成构建规则。
- VS Code: 负责写代码和看日志,顺手就好。
1. 先把工具装好
把 vcpkg 放到一个稳定的路径里,再记住 scripts/buildsystems/vcpkg.cmake 的位置。这个文件后面会经常用到,路径错了,后面就会一直报错。
2. 路径写法别犯懒
我第一次配置时最容易出问题的地方,就是在 CMakeLists.txt 里直接写了 Windows 反斜杠路径。结果 CMake 把它当成转义字符处理,直接报错。
- 写路径时尽量用
/ - 如果非要用
\,就记得转义成\\ - 看到
Invalid character escape,先回头查路径
3. VS Code 里也要确认一下
有时候问题不在代码,而在配置文件还指向旧路径。这个时候先别急着怀疑 CMake,先检查 VS Code 和扩展里是不是还留着老参数。
- 解决方法:
- 修改全局配置:在 VS Code 的
settings.json中配置cmake.configureSettings。 - 强制指定工具链:
"cmake.configureSettings": { "CMAKE_TOOLCHAIN_FILE": "安装路径/vcpkg/scripts/buildsystems/vcpkg.cmake"}- 理解逻辑:VS Code CMake Tools 插件在执行命令时,会通过命令行参数
-DCMAKE_TOOLCHAIN_FILE=...传入路径。命令行参数的优先级高于脚本内部的set指令。
第四步:彻底清理缓存 (The “Hard Reset”)
- 操作:手动删除工程目录下的
build文件夹。 - 原因:CMake 在第一次配置失败后,会将错误的路径信息永久记录在
CMakeCache.txt中。如果不删除该文件,无论你怎么改设置,CMake 都会读取旧的缓存数据。
3. 最终正确的工作流示意图
- VS Code 发起构建指令。
- CMake 接收到
CMAKE_TOOLCHAIN_FILE路径。 - vcpkg 介入,自动在
vcpkg所处的路径中寻找项目所需的头文件和库。 - 编译器 (MSVC) 最终完成代码编译。
🌟 个人经验教训总结
- 路径习惯:Windows 开发中,配置文件里的路径一律写成
/。 - 缓存意识:改了配置不生效,先删
build文件夹。 - 解耦配置:尽量不要在
CMakeLists.txt里写死绝对路径,通过 IDE 的设置或命令行传入,这样项目更易于移植。
VS Code + CMake + vcpkg 配置笔记
https://windholm.dpdns.org/posts/config/ 最后更新于 2026-02-05,距今已过 64 天
部分内容可能已过时
WindHolm