win10+mingw编译boost1.64库

最近由于项目的需要,来编译了一下boost库,我这里使用的mingw的方式来编译的,那么首先要确保安装好了mingw,需要将mingw的bin目录设置在环境目录下,cmd进入到控制台命令,如下图所示,看一下我们安装好的编译器。有版本相关的信息。

 

如上图所示。进入到boost库源码目录。事先生成b2.exe等文件。

 

执行bootstrap gcc命令。

b2 -j8 --build-dir=.\tmp --build-type=complete threading=multi link=shared address-model=64 toolset=gcc install

其中,b2为生成的编译工具,-j8为计算机的CPU核数,--build-type=complete编译方式,这里选择的是完全,threading=mutil为多线程方式。同时为debug和release,model为编译位数,这里选择的64位,toolset为编译工具install选择生成模式为lib静态库和include头文件。等执行完bootstrap gcc命令后就可以执行上面的命令。

注意:如果将该语句b2 -j8 --build-dir=.\tmp --build-type=complete threading=multi link=shared address-model=64 toolset=gcc install中的install修改为stage有可能编译时候出现错误。

估计要等一会时间,最后将会生成lib和include目录,如下图所示。

以上编译动态库dll,可以使用bjam --build-type=complete toolset=gcc stage来编译静态库lib文件。

当然也可以使用visual studio2015编译,这里我们使用了2015版本的编译了boost1.64,其中设置

b2 --build-type=complete toolset=msvc-14.0 threading=multi link=shared address-model=64

注意toolset=msvc-14.0为visual sudio2015,address-model=64为64位的操作系统,可以设置为32,。而头目录则直接使用boost路径下所有的.h和.hpp文件即可。

当然也可以选择性的编译。毕竟有时候没有必要编译那么多的boost库。

b2 --with-date_time --with-thread  --with-chrono toolset=msvc-14.0 threading=multi link=shared address-model=64,相应的把

-build-type=complete去掉,选择相应的模块编译。

当然也可以使用下面的命令编译全部的lib文件,需要进入到visual studio本机命令行。

bjam -j8 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=shared address-model=64

参考博客。

BOOST编译

https://blog.csdn.net/lonelysky/article/details/52335607

使用VS2015 编译 64位的boost库

http://www.javashuo.com/article/p-sckdyyui-cc.html