安装boost

2023-05-16

安装boost

从官网下载并解压到适当位置

Boost网站

在解压后的目录中找到
bootstrap.bat点击运行,并等待结束

这时会出现b2.exe文件,点击运行,耐心等待结束
(安装后产生的文件会占据大约4.3GB,请确保磁盘空间充足)

cmake 配置示例

文档地址

只寻找头文件

find_package(Boost 1.36.0)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(foo foo.cc)
endif()

寻找库文件并引入到目标文件中

find_package(Boost 1.56 REQUIRED COMPONENTS
date_time filesystem iostreams)
add_executable(foo foo.cc)
target_link_libraries(foo Boost::date_time Boost::filesystem
Boost::iostreams)

下面以引入Python模块作为示例,读者可仿照此例引入自己需要的模块。

寻找库“python3.6”并引入

find_package(Boost 1.67 REQUIRED COMPONENTS
python36 numpy36)
add_executable(foo foo.cc)
target_link_libraries(foo Boost::python36 Boost::numpy36)

寻找头文件和静态库文件并引入

set(Boost_USE_STATIC_LIBS        ON)  # only find static libs
set(Boost_USE_DEBUG_LIBS        OFF)  # ignore debug libs and
set(Boost_USE_RELEASE_LIBS       ON)  # only find release libs
set(Boost_USE_MULTITHREADED      ON)
set(Boost_USE_STATIC_RUNTIME    OFF)
find_package(Boost 1.66.0 COMPONENTS date_time filesystem system ...)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(foo foo.cc)
target_link_libraries(foo ${Boost_LIBRARIES})
endif()

运行测试

项目配置

# CMakeLists.txt
cmake_minimum_required(VERSION 3.21)
project(test_0_1)

set(CMAKE_CXX_STANDARD 17)

set(Boost_INCLUDE_DIRS "D:/ProgramData/boost_1_78_0/" )
set(Boost_LIBRARIES "D:/ProgramData/boost_1_78_0/stage/lib")
include_directories(${Boost_INCLUDE_DIRS})

add_executable(${PROJECT_NAME} main.cpp)

主程序

//main.cpp
#include <boost/version.hpp>  //包含 Boost 头文件
#include <boost/config.hpp>  //包含 Boost 头文件
#include <iostream>

using namespace std;

int main()
{
    cout << BOOST_VERSION << endl;  //Boost 版本号
    cout << BOOST_LIB_VERSION << endl;  //Boost 版本号
    cout << BOOST_PLATFORM << endl;  //操作系统
    cout << BOOST_COMPILER << endl;  //编译器
    cout << BOOST_STDLIB << endl;  //标准库

    return 0;
}

输出:

107800
1_78
Win32
GNU C++ version 11.2.0
GNU libstdc++ version 20210728
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装boost 的相关文章

随机推荐

  • 动态存储区、静态存储区、堆和栈的区别

    C c 43 43 程序经过编译连接后形成的二进制映像文件 xff0c 这文件包含 xff1a 栈 xff0c 堆 xff0c 数据段 xff08 只读数据段 xff0c 已经初始化读写数据段 xff0c 未初始化数据段即BBS xff09
  • kubemini-基础使用

    起始 minikube 是一个本地的 k8s 专注于为 k8s 创建一个简单的学习和开发环境 你只需要一个 Docker 或者类似兼容的 容器 xff0c 或者一个虚拟机环境 xff0c k8s 只需要一个单独的命令 xff1a minik
  • 详解信号量和互斥锁之间的区别和联系

    一 xff1a 信号量与互斥锁之间的区别 xff1a 1 xff1a 互斥量用于线程的互斥 xff0c 信号线用于线程的同步 这是互斥量和信号量的根本区别 xff0c 也就是互斥和同步之间的区别 2 xff1a 互斥量值只能为0 1 xff
  • python基础学习(十二)——python中代码的执行顺序以及if __name__ ==‘__main__‘作用和原理

    xff08 1 xff09 代码执行顺序 python程序是顺序执行的 xff0c Python中首先执行最先出现的非函数定义和非类定义的没有缩进的代码 python程序执行时 按照自上而下的顺序 xff1a 首先执行没有缩进的代码 xff
  • c学习--不同c文件中的同名全局变量及同名函数53

    如果在不同的c文件中定义了同名的全局变量 xff0c 则它们会占用相同的内存空间 xff0c 而且编译链接时不会报错 xff01 这可以参考全局变量的内存初始化顺序 对于局部变量而言 xff0c 内存分配的顺序和代码的顺序是一样的 全局变量
  • 基于STM32的FreeRTOS学习之任务基础知识(六)

    记录一下 xff0c 方便以后翻阅 RTOS系统的核心是任务管理 xff0c 初学RTOS系统必须先掌握任务的创建 删除 挂起和恢复等操作 1 什么是多任务系统 玩裸机一般都是在main函数里用while 1 做一个死循环完成所有处理 xf
  • git 推送出现 “fatal: The remote end hung up unexpectedly“ 解决方案

    https blog csdn net qq 41241767 article details 98181952 git 推送出现 34 fatal The remote end hung up unexpectedly 34 解决方案 h
  • 操作系统的设计指导思想——主奴机制

    在学习操作系统的过程中我们会发现一个问题 xff1a 应用程序是应用程序 xff0c 操作系统也是程序 xff0c 操作系统程序凭什么能对应用程序进行组织 管理和协调而不受应用程序损害呢 xff1f 我们认为凭的是特权机制 要想让操作系统做
  • VScode如何配置Git

    注意 xff1a 食用本篇博客的前提是你已经安装好了Git xff0c 并且也有一定的Git基础 因为有些git中比较常用的功能我会略过 第一步 xff1a 配置Git环境变量 右键 我的电脑 xff0c 选择 属性 xff0c 在弹出的对
  • FMC/FSMC/EXMC总线NORFlash/PSRAM接口(异步-复用-不突发/同步-复用-突发)

    请勿转载 目录 1 简介 1 1 框图 1 2 接口定义 1 3 读写时序图 时序配置参数 1 4 PSRAM控制器异步工作模式分类 1 5 PSRAM寄存器配置 1 5 1 控制寄存器BCR 1 5 2 片选时序寄存器BTR 1 5 3
  • 开平方_复数有效值+角度的verilog代码

    1 逐位比较法 二进制 FPGA篇 xff08 一 xff09 基于verilog的定点开方运算 1 逐次逼近算法 该篇文章中有详细描述 假设被开方数rad i 7 0 xff0c 则结果qout 3 0 位宽为4位 xff0c 从最高位到
  • GOOSE报文分析_详解GOOSE服务

    https www cnblogs com software4y p 10017602 html http blog sina com cn s blog af8298410102wnvm html https www cnblogs co
  • 循环冗余校验(CRC)之verilog实现

    有一个网站在这一方面做的特别好 xff0c 直接生成代码 链接 xff1a http www easics com webtools crctool 循环冗余校验 xff0c 也称为CRC检验 xff0c 这是一个很常见的 xff0c 很成
  • 从原理上解释什么是DDR的ZQ校准?

    前言 首先我们我们看下下图的电路 xff0c 在DDR的电路中通常有ZQ部分的电路 xff0c 外接1 高精度的240ohm电阻 xff0c 那么这个240ohm电阻究竟是做什么用的呢 xff1f 很多做了硬件或者驱动开发很多年的工程师仍然
  • 串行数据异步动态相位采样处理iodelay-iserdes应用+CDR数据恢复方案

    目录 一 用iserdes的LVDS视频接口 二 LVDS 4倍异步过采样 ISERDES2 三 8倍过采样 CDR数据恢复 Select IO 替代 RocketIO 典型应用SD SDI 四 4倍过采样 CDR数据恢复 一 用iserd
  • 接收灵敏度dbm与W

    一 基本概念 xff1a 接收灵敏度 官方概念 xff1a 接收机能够识别到的 最低的电磁波能量 单位也是dBm 解读 xff1a 接收灵敏度 xff0c 就是你的耳朵能听到的最小的声音 耳朵灵敏度高的 xff0c 能够听到很远的声音 例如
  • 三段式过流保护、差动保护

    1 基本原理 供电系统中的线路 设备等故障 xff0c 会产生短路电流 短路电流比线路正常工作时大很多 通过电流互感器测量这个电流值 xff0c 和电流值的持续时间 xff0c 达到整定值时输出跳闸信号 xff0c 这个就是过电流保护的基本
  • Unexpandable Clocks不可扩展时钟 UG903

    同源时钟可能同步 xff0c 可能异步 xff1f 同源时钟由同一个PLL MMCM产生 xff0c 相位固定 xff0c 能否产生小数倍关系 xff1f 不可扩展时钟能否归类到异步时钟 xff1f 不可扩展时钟是指时钟引擎无法在1000个
  • allegro 尺寸标注操作未到板边的处理

    1 进入尺寸标注 2 右击选择线性 xff0c parameters中可以改参数 xff0c 默认即可 3 打开尺寸层 xff0c 点击板边框 如果有圆弧没有标注到板边 xff0c 可以在右侧find中关闭其它项 xff0c 点击两个板边标
  • 安装boost

    安装boost 从官网下载并解压到适当位置 Boost网站 在解压后的目录中找到 bootstrap bat点击运行 xff0c 并等待结束 这时会出现b2 exe文件 xff0c 点击运行 xff0c 耐心等待结束 xff08 安装后产生