VsCode + mingw编译器下boost库的安装


1. VsCode + mingw编译环境的安装

之前写过如何安装,没有安装环境的请看!mingw的环境变量必须添加正确

2. boost库的下载

1.boost下载网址https://www.boost.org/users/history/
大家可以下载自己想要的版本,笔者下载的是1.70版本,网上说1.70之后的版本不支持mingw编译环境,这点应该是错误的。

3. boost库的解压

1.下载boost库后是一个压缩包,第一步是解压该压缩包,解压后的压缩包的文件如下:

解压后已经有boost库的头文件包了,在boost文件夹里,但还没有boost的链接库,需要生成该链接库

4. boost库的链接库生成

2.进入\boost_1_70_0\tools\build\src\engine文件夹,在该文件下单机鼠标右键,选择在windows打开终端,如果不可以,用win+R,输入cmd打开中,利用cd命令进入\boost_1_70_0\tools\build\src\engine文件夹,输入命令

.\build.bat gcc

输入该该命令后最后几行输出如下:

之后会得到一个bin.ntx86_64的文件夹,如下图所示:

该文件夹下有两个文件b2.exe和bjam.exe,将这两个文件复制到boost解压包根目录下,如下图所示:

在该文件夹下打开终端,输入命令:

.\b2.exe toolset=gcc

这样便可以安装全部的boost库文件,如果你只想链接部分库,如program_options和filesystem,输入如下指令:

.\b2.exe toolset=gcc --with-program_options --with-filesystem

其中with后面跟你想要链接的库的名称。
这个链接全部库过程花的时间比较长,看电脑的性能,我的花了20min左右。如果你链接了全部库,会在安装包根目录下生成一个stage文件夹,该文件夹下有一个lib文件夹,文件下是所有的链接库文件。部分如下:

将这些文件全部移动至你的mingw编译环境的安装目录的lib文件夹下,如下图所示:

如果你的电脑和我的电脑一样,还有一个 x86_64-w64-mingw32文件夹,那么应该移至该文件夹下的lib文件夹,同时将boost文件夹移至该文件夹下的include文件夹,如下图所示:


至此安装完成。

5. boost库测试

在vscode新建一个cpp程序,输入如下程序:

// lexcast18_11.cpp -- simple cast from float to string
#include 
#include 
#include "boost/lexical_cast.hpp"

int main()
{
    using namespace std;
    cout << "Enter your weight: ";
    float weight;
    cin >> weight;
    string gain = "A 10% increase raises ";
    string wt = boost::lexical_cast (weight);
    gain = gain + wt + " to ";      // string operator()
    weight = 1.1 * weight;
    gain = gain + boost::lexical_cast(weight) + ".";
    cout << gain << endl;
    return 0;
}

点击编译运行,运行结果如下:

至此完成boost库的安装。