C++Intel/VS编译器编译Boost库

        在使用Intel编译器(icc)时,如果还想调用Boost库,那么icc会自动调用icc编译的boost库,于是这篇博客就介绍了如何使用icc编译Boost库,并且附带Boost库编译时的参数说明,你可以按照这份说明编译出你想要的库版本。(如果你使用默认编译器,此博客也可做参考,除了编译器选择部分不同之外,其它都一样)

1. 我们选择mpi编译,首先我们要下载微软mpi工具

2. 下载boost库并解压

3. 修改tools\build\src\tools中的mpi.jam文件的Line249、Line251和Line260

249 line            local cluster_pack_path_native = "C:\\Program Files\\Microsoft MPI" ; 
251 line            if [ GLOB $(cluster_pack_path_native)\\Inc : mpi.h ] 
260 line            options = <include>$(cluster_pack_path)/Inc

pcl1

pcl2

4. 进入boost文件夹,运行bootstrap.bat,会生成文件project-config.jam文件

5. 修改跟目录下project-config.jam文件, 增加using mpi ; 特别注意mpi后面要有空格

pcl4 pcl5

6. 上一步生成了b2.exe,然后我们用b2.exe来编译boost库

7. b2的命令如下(icc 64位)

b2.exe address-model=64 --build-dir=build\x64 toolset=intel-16.0 variant=debug link=static runtime-link=shared install --prefix="E:/boost/" -j8

address-model = 64         编译 64位库, =32 编译32位库

toolset=intel-16.0             选择intel编译器,如果是用VS自带的编译器,就如下,如用VS2013改成msvc-12.0,等等

pcl6

variant=debug                  可以选择debug还是release

link=static                         或者shared,选择编译时静态链接还是动态链接

runtime-link=static           或者shared 选择是否使用动态库,会生成dll动态库

-j8                                    表示编译时使用8个线程,如果你的CPU超过四个核心,那么-j8要快于-j4

install 后面为编译安装选项,可选

pcl7

        这样我们就可以使用icc来编译boost库了。

        OK,See You Next Chapter!

发表评论