C++ 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

为了便于编译Boost库,在此列出VS版本,GCC版本以及C++版本之间的关系:

目前的C语言标准有:C89(ANSI C), C90, C99(ISO C), C11(C1x)
目前的C++标准有:C++98, C++03(对98做了小幅的修改),C++11(全面进化),C++17

不同C++标准对应的编译器支持情况可参考:https://en.cppreference.com/w/cpp/compiler_support

语言标准 编译器支持情况 备注
C++11 gcc4.8.1及以上可以完全支持,gcc4.3部分支持,
gcc4.3以下版本不支持
C++14 gcc5可以完全支持,gcc4部分支持,gcc3及以下版本
不支持
c++17 gcc7完全支持,gcc6以及gcc5部分支持(gcc6比gcc5支持更好),
gcc4以及以下的版本不支持

备注:gcc高版本向下兼容低版本

VC(Microsoft Visual C++)是微软推出的一个集成c,c++的开发环境,97年推出的Microsoft Visual C++ 6.0是一个非常经典的版本。在目前使用中,建议最好使用VS2008以上版本中的VC

VC版本与Visual Studio版本的对应关系如下所示:

Visual Studio版本 VC版本 备注
Visual Studio 6 VC6
Visual Studio 2003 VC7
Visual Studio 2005 VC8
Visual Studio 2008 VC9
Visual Studio 2010 VC10
Visual Studio 2012 VC11
Visual Studio 2013 VC12
Visual Studio 2015 VC14
Visual Studio 2017 VC15

语言类型与匹配的Visual Studio版本

语言 支持的VS版本 备注
C++11 vs2015及以上可以完全支持。vs2013基本支持,vs2012部分支持,
vs2010及以下版本不支持。
C++14 vs2017就可以完全支持,vs2015基本支持,vs2013部分支持。
C++17 vs2017基本支持,vs2015部分支持。

参考博客: https://blog.csdn.net/u010977122/article/details/100708274

posted @ 2023-11-26 11:41  Alpha205  阅读(199)  评论(0编辑  收藏  举报