当前位置: 首页 > article >正文

【亲测可行】Mac上clion boost库的安装与使用

很多博客上关于boost库的安装与使用都有问题,所以自己写一篇文章来纠正一些错误

这里采用homebrew安装

brew install boost

安装好以后boost目录在 /opt/homebrew/Cellar/boost/xxx版本 下,然后可以看到lib(库文件)和include(头文件)

然后我们写一个程序来测试一下

#include <iostream>
#include <boost/version.hpp>

using namespace std;

int main(int argc, char const *argv[])
{
	cout << BOOST_VERSION << endl;
	return 0;
}

g++使用第三方库编译是如下命令

g++ a.cpp  -I 头文件路径 -L 库文件路径 -l 动态链接库

对应到我们这里应该是,这里1.84.0_1是homebrew安装的版本,读者可以自行查看

 g++ -o boost boost.cpp -std=c++11 -I /opt/homebrew/Cellar/boost/1.84.0_1/include -L /opt/homebrew/Cellar/boost/1.84.0_1/lib -l boost_system -l boost_thread

必须要加,-l boost_system -l boost_thread,否则会报错(不过不知道为什么,我这里不要写boost_thread,写了反而会报错)
在clion中,我们需要对CMakeLists.txt添加如下这行

cmake_minimum_required(VERSION 3.27)
project(main)

set(CMAKE_CXX_STANDARD 17)
//添加的为这两行
find_package(Boost 1.84.0 REQUIRED COMPONENTS filesystem)
include_directories(${Boost_INCLUDE_DIRS})
//
add_executable(main main.cpp)

cmake对boost有很好的支持,上面的指令翻译如下:1,find_package(Boost 1.69.0 查找系统的boost, 目标版本是1.74.0;2,REQUIRED COMPONENTS filesystem) COMPONENTS用来限定boost的filesystem模块,REQUIRED表明必须找到指定的模块,否则会出错

上面的find_package命令如果找到boost::filesystem,会在cmake中设置一些变量,比如Boost_LIBRARIES、Boost_INCLUDE_DIRS,需要在编译目标上使用这些变量。

添加完以后,再从clion中运行就没有任何问题了


http://www.kler.cn/a/272175.html

相关文章:

  • map和set的使用(一)详解
  • 数据库索引(1)
  • Unity新版InputSystem短按与长按,改键的实现
  • 使用tritonserver完成clip-vit-large-patch14图像特征提取模型的工程化。
  • Java 的初认识(一)
  • 二叉树--堆排序
  • jwt以及加密完善博客系统
  • ElasticSearch:数据的魔法世界
  • 使用 300 元的显卡推理 Qwen1.5-14B
  • Qt的XML文件读取测试01
  • SQLiteC/C++接口详细介绍之sqlite3类(六)
  • 【开源鸿蒙】编译OpenHarmony轻量系统QEMU RISC-V版
  • OpenAI引领下一代AI技术,推出GPT-4 Turbo
  • rust - 一个日志缓存记录的通用实现
  • Transformer的前世今生 day02(神经网络语言模型
  • 【开源鸿蒙】模拟运行OpenHarmony轻量系统QEMU RISC-V版
  • uwsgi+nginx+django 部署学习
  • cache的58问,您能回答上几个
  • 课时67:流程控制_for循环_for基础
  • 万界星空科技商业开源MES,技术支持+项目合作
  • vulhub中GitLab 任意文件读取漏洞复现(CVE-2016-9086)
  • MATLAB中的cell数组和结构体。
  • 安全地使用v-html
  • 深度学习pytorch——基本运算(持续更新)
  • 微信小程序之tabBar
  • LinkedList源码解析和设计思路