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"
了这一点。
你好,谢谢你的回答。这解决了它。 – nullptr