ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用 Visual Studio 打开一个使用Boost的 C++ CMake项目的正确姿势

2022-07-31 16:02:41  阅读:189  来源: 互联网

标签:set CMake boost C++ Visual b2 Boost


背景

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

其他参考

标签:set,CMake,boost,C++,Visual,b2,Boost
来源: https://www.cnblogs.com/mrlonely2018/p/16537282.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有