首页 > 编程语言 >C++ Boost库

C++ Boost库

时间:2023-11-26 11:56:28浏览次数:43  
标签:exe -- Boost C++ 编译 源码 b2 boost

《C++ Boost库》

1. Preface

  cxmsc

2. Boost库编译

  • 解压boost源码压缩目录
  • Windows平台下,打开cmd,运行脚本bootstrap.bat脚本
  • 生成b2.exe文件

boost需要通b2.exe来自动编译源码;在编译之前,需要指定一些列参数:

首先可通过--help命令来查看相关的参数

# 展示boost里所有的库
b2.exe --show-libraries

参数含义:

  • --prefix/--stagedir
    分别对应install和stage模式下的安装目录
  • install/stage
    stage表示只生成库(lib和dll),install会额外生成包含头文件的include目录。这个include目录实际就是从boost源码解压后的include目录拷贝过去的;
  • toolset 指定编译器
    可选项包含:(borland, gcc, msvc(VC6), msvc-10.0(vs2010), msvc-12.0(vs2013), msvc-14.0(vs2015))
  • with/without
    选择编译或者不编译哪些库,可以根据需要进行选择,默认为全部编译,可通过b2.exe --show-libraries来查看boost下所有的库
  • build_dir
    中间问价的生成路径,如果无特殊需求,可不设置,默认路径为boost源码根目录下的bin.v2目录下
  • link
    选择生成动态链接库/静态链接库,可选值 static / shared
  • runtime-link
    指定boost编译时是动态/静态链接c++运行时库,可选值static / shared
  • threading
    是否开启多线程编译, 可选值 single / multi
  • debug / releae
    指定编译的产物类型为debug或者release
# debug和release可同时编译
b2.exe install --prefix=D:\software\boost_1_82_0 toolset=gcc link=shared runtime-link=shared threading=multi --with-thread release debug

标签:exe,--,Boost,C++,编译,源码,b2,boost
From: https://www.cnblogs.com/ncepubye/p/17856678.html

相关文章

  • C++ 二叉树 家谱
    实验三树家谱文档实验说明要求完成的功能如下,测试输出如图所示:(1)输入一棵二叉树的括号表示法,完成树的构建(2)使用后序遍历递归算法遍历二叉树并输出(3)使用先序遍历非递归算法遍历二叉树并输出(4)指定家谱中的某一成员,输出其所有长辈测试例:输入:A(B(C(E,F),D(G(M,N),H))......
  • C++ 通过SQLite实现命令行工具
    本文介绍了一个基于C++、SQLite和Boost库的简单交互式数据库操作Shell。该Shell允许用户通过命令行输入执行各种数据库操作,包括添加、删除主机信息,设置主机到特定主机组,以及显示主机和主机组列表。通过调用SQLite3库实现数据库连接和操作,以及使用Boost库进行字符串解析......
  • 试题 D: 本质上升序列(C/C++)
    题目描述:小蓝特别喜欢单调递增的事物。在一个字符串中,如果取出若干个字符,将这些字符按照在字符串中的顺序排列后是单调递增的,则成为这个字符串中的一个单调递增子序列。例如,在字符串lanqiao中,如果取出字符n和q,则nq组成一个单调递增子序列。类似的单调递增子序列还有lnq......
  • buck-boost公式推导
    转载: 手撕Buck!Buck公式推导过程_buck电路输出电压公式_硬件工程师炼成之路的博客-CSDN博客手撕Boost!Boost公式推导及实验验证-CSDN博客 ......
  • C#调用C++类库的几种方式
    1、 直接调用C++类库中的公共方法使用DllImport特性对方法进行调用,比如一个C++类库SampleCppWrapper.dll中的公共方法:extern"C"__declspec(dllexport)int__stdcallAdd(intn1,intn2);__stdcall表示调用约定:参数都是从右向左通过堆栈传递, 函数调用在返回前要由被调......
  • C/C++ 通过SQLiteSDK增删改查
    SQLite,作为一款嵌入式关系型数据库管理系统,一直以其轻量级、零配置以及跨平台等特性而备受青睐。不同于传统的数据库系统,SQLite是一个库,直接与应用程序一同编译和链接,无需单独的数据库服务器进程,实现了数据库的零配置管理。这种设计理念使得SQLite成为许多嵌入式系统、移动应用和......
  • c++ 为什么引入函数对象?
    C++引入函数对象主要是因为函数对象具有以下优势:函数对象可以有自己的状态:我们可以在类中定义状态变量,这样一个函数对象在多次的调用中可以共享这个状态。但是函数调用没这种优势,除非它使用全局变量来保存状态。函数对象有自己特有的类型,而普通函数无类型可言:这种特性对......
  • C++回调函数的定义和调用
    文章目录一、C++回调函数1.C/C++回调函数2.普通回调3.函数指针4.C++类的静态函数作为回调函数5.类的非静态函数作为回调函数6.Lambda表达式作为回调函数7.std::funtion和std::bind的使用二、其他参考资料 一、C++回调函数C++回调函数1.C/C++回调......
  • 十七、C++字符串(二)
    十七、C++字符串(二)1、字符串的应用需求:设计一个程序,用户输入属性id或者pass或者role可以把对应的内容显示出来,给定字符串如下:stringstr{"id=user;pass=632105;role=郝英俊;"};//设计一个程序,用户输入属性id或者pass或者role可以把对应的内容显示出来#include<iostream>......
  • 新手VSCode配置C++20
    最近买了本C++20的书,想要自己配置下在VScode的环境例子代码:#include<iostream>#include<format>intmain(){std::cout<<std::format("Hello,world!{0}",123)<<std::endl;//输出:Hello,world!123std::stringstr=std::format("......