Boost使用杂记

常见问题

无法打开文件“libboost_filesystem-vc140-mt-sgd-1_64.lib”。参考

  • 重新编译Boost
b2 stage  architecture=x86 address-model=64  link=static runtime-link=static threading=multi debug release
  • 选项说明

link=static/shared,静态或者动态编译boost
runtime-link=static/shared,boost是否需要依赖vc运行库,如果你要自带vc运行库可用shared
threading=multi/single,是否支持多线程
在一个vs版本的的情况下可以直接b2 --toolset=msvc,多个的话需要指定vs版本号b2 --toolset=msvc-12.0

  • 生成的文件名:libboost_log-vc120-mt-sgd-1_59.lib,其中mt表示多线程,sgd中的s表示runtime 是static,gd表示debug版本。

编译boost.python(参考

  • 运行bootstrap.bat生成b2和bjam

  • 编辑project-config.jam (注意倒数第二行的那个分好一定要写上)

    import option ;

    using msvc ;
    using python
    : 3.5
    : "C:\Program Files\Anaconda3"
    : "C:\Program Files\Anaconda3\include"
    : "C:\Program Files\Anaconda3\libs"
    ;
    option.set keep-going : false ;

  • 生成
    * debug版

    • bjam --with-python --prefix=d:\boost stage toolset=msvc-10.0 variant=debug link=shared address-model=64 threading=multi runtime-link=shared install
*    release
    *    bjam --with-python --prefix=d:\boost stage toolset=msvc-10.0 variant=release link=shared address-model=64 threading=multi runtime-link=shared install
  • 按照官方的方法生成dll并将对应文件后缀改为pyd
posted @ 2017-08-25 12:24  jiahu  阅读(908)  评论(0编辑  收藏  举报