VS2017下boost的编译安装

1.VS2017下boost编译安装
    a.cmd.exe
    b.运行bootstrap.bat产生b2.exe
    d.C:\Program Files (x86)\Windows Kits\8.1\bin\x64\mt.exe 拷贝到b2.exe同级目录
      C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64添加到环境变量path里,cl.exe能用
    c.运行b2.exe指令
    
        stage方式:x64动态库编译(只生成lib,dll)
            b2 --stagedir="C:\boost_1_59_0_stage\x64_v140" --build-dir="C:\boost_1_59_0_stage\build" link=shared link=static address-model=64  runtime-link=shared threading=multi release debug
            
        install方式:x64动态库编译(生成include和lib,dll)
            b2.exe install --prefix="C:\boost_1_59_0\x64_v140"  --build-dir="C:\boost_1_59_0\build" link=shared link=static address-model=64  runtime-link=shared threading=multi release debug

        
        toolset:指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)等。
        without/with:选择不编译/编译哪些库。因为python、mpi等库我都用不着,所以排除之。
        stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录    
        stagedir/prefix:stage时使用stagedir,install时使用prefix,表示编译生成文件的路径。
        build-dir:编译生成的中间文件的路径。
        link:生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。
        runtime-link:动态/静态链接C/C++运行时库。同样有shared和static两种方式
        threading:单/多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式。
        debug/release:编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。
        (from http://www.cnblogs.com/cmranger/p/4759223.html)

2.如果报异常:
    a.项目配置文件project-config.jam
        using msvc : 14.1 : "D:\Visual Studio 2017\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\cl.exe";

    b.执行命令
        打开工具(适用于 VS 2017 的 x64 本机工具命令提示)
        b2.exe install --toolset=mscv-14.1 --prefix="C:\boost_1_59_0\x64_v141" --build-dir="C:\boost_1_59_0\build-v141" link=shared link=static address-model=64 runtime-link=shared threading=multi
        

       

3.只编译指定的模块,比如当初忘记编译python模块,使用--with-和--without-前缀,注意顺序,without需要在with后面

b2 --stagedir="C:\boost\stage\"  --with-python include="C:\python3.5.3\include\"  --without-atomic --without-chrono --without-container --without-context --without-contract --without-coroutine --without-date_time  --without-exception --without-fiber --without-filesystem --without-graph --without-graph_parallel  --without-headers --without-iostreams --without-locale --without-log --without-math --without-mpi --without-program_options --without-random --without-regex --without-serialization --without-stacktrace --without-system --without-test --without-thread --without-timer --without-type_erasure --without-wave --build-dir="D:\boost\build" link=shared link=static address-model=64 runtime-link=shared threading=multi release debug


            

你可能感兴趣的:(boost,vs2017,软件配置)