boost链接器错误错误的工具集

问题描述:

有很多与此有关的问题,但目前为止没有一个是我的情况的解决方案。 我内置升压用VS 2017年1.63库,使用工具集14.1boost链接器错误错误的工具集

建设升压库的命令行是:

bjam --toolset=msvc-14.1 --build-dir="libs" --stagedir="x64" --build-type=complete stage address-model=64 threading=multi link=static runtime-link=static 

build文件夹中的第二个LIB是

libboost_atomic-vc141-mt-sgd-1_63.lib 

我的项目使用boost会指向这个文件夹。但随着2017年VS和 14.1工具集所选链接抛出一个错误:

LINK : fatal error LNK1104: cannot open file 'libboost_atomic-vc140-mt-sgd-1_63.lib' 

正如你所看到的,只有在不正确的工具集。 有没有额外的开关和在哪里可以找到?谢谢。

一个评论:我建立了bjam.exe与项目config.jam中设置

using msvc : 14.1; 

和库已经建成快如闪电:低于20秒,所有的x64库!

Boost 1.63尚未与Visual Studio 2017兼容,因此您需要手动完成一些事情才能解决问题。为了确保它提取正确的库文件,您需要对auto_link.hpp进行编辑,该编号位于boost/config中。与此修改版本的包括

# elif defined (BOOST_MSVC) && (BOOST_MSVC < 1910) 

    // vc14: 
# define BOOST_LIB_TOOLSET "vc140" 

# elif defined (BOOST_MSVC) 

    // vc15: 
# define BOOST_LIB_TOOLSET "vc141" 

然后做Boost库的干净重新编译,并替换该文件的原始版本:更改这些行:

# elif defined (BOOST_MSVC) 

    // vc14: 
# define BOOST_LIB_TOOLSET "vc140" 

了这一点。

+0

你好,谢谢你的回答。这解决了它。 – nullptr