使用 Visual Studio 打开一个使用Boost的 C++ CMake项目的正确姿势
背景
win10系统。 git clone 了一个C++项目,其中没有 sln 文件也没有proj 文件,项目目录下有 CMakeList.txt
步骤
1. 直接打开 Visual Studio 2019, 选择打开文件夹
此时Visual Studio 自动检测到这是个CMake 项目, 会自动根据 CMakeList.txt
进行构建。
具体可以参考 CMake projects in Visual Studio 以及 Clone an open-source CMake project from GitHub
稍等片刻,发现 CMake 的输出报错了,find_package()
找不到boost库
2. 下载并构建 Boost
- 目前最新是 1.79.0 版本, Getting Started in Windows
- 下载并解压,然后执行:
cd tools\build\
./bootstrap.bat
- 安装 b2:
.\b2 install --prefix=F:/b2
, 安装完记得把prefix 添加到系统的Path环境变量 - 回到根目录,使用b2 构建Boost
b2 --build-dir=F:\boost_1_79_0 toolset=msvc-19.29.30136 -s NO_COMPRESSION link=static --build-type=complete
3. 如何找到 msvc 的版本
- 打开
Developer PowerShell for VS 2019
cl
- 会显示:
用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.29.30136 版
19.29.30136
就是 b2 中 toolset 使用的 MSVC 版本
4. CMake 中的 Boost 相关变量设置
-
set(Boost_COMPILER "-vc1929") set(BOOST_ROOT F:/boost_1_79_0) set(Boost_INCLUDE_DIR F:/boost_1_79_0) set(BOOST_LIBRARYDIR F:/boost_1_79_0/stage/lib)
- 参考 FindBoost
5. 最终步骤
- 在 VS 中重新生成CMake,成功,此时调试目标中就可以找到主程序了
- 有一个在包括Boost库时很重要的CMake 命令参数
-DBoost_DEBUG=ON
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix