分析得出,首先我使用的是vs studio2022们对于的为vc143,于是切换回vs2017 对于141,2019则是对应142
然后需要进入boost安装目录,重新进行b2 的编译运行,前提是已经进行了bootstrap.bat
命令示例
b2.exe --toolset=msvc-14.1 variant=debug link=shared threading=multi runtime-link=shared
第一个表示的是vc141表示使用的是vc141进行编辑的,也就是vc2017,如果是vs2015就应该出来vc140;
第二个mt表示的是使用threading=muti多线程编译出来的。
第三个gd表示的是debug版本,与其对应的是release版本。
第四个x64表示的是64位系统,如果是x86表示的就是32位系统,还有1_69表示的就是boost版本是1_69_0.,如果是1_70表示的就是boost1_70_0。所以这个地方注意两点,1就是你下载的boost版本要对应,2就是使用vs编译的版本要对应。
sgd--表示runtime-link是static,一般设置为shared就可以
而如果编译的是动态库(link=shared
),将会生成两个文件(.lib
和 .dll
):
以boost开头,如boost_thread-vc141-mt-gd-x32-1_85.lib,boost_thread-vc141-mt-gd-x32-1_85.ddl
而如果编译静态库(link=static),只有.lib,如libboost_thread-vc141-mt-gd-x32-1_85.lib