gpt4 book ai didi

c++ - boost 链接器错误错误的工具集

转载 作者:行者123 更新时间:2023-11-30 03:33:00 25 4
gpt4 key购买 nike

有很多与此相关的问题,但到目前为止没有一个是我的解决方案。我使用工具集 14.1 使用 VS 2017 构建了 boost 1.63 库

构建 boost 库的命令行是:

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

构建文件夹中的第二个库是

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

我使用 boost 的项目指向这个文件夹。但是与 VS 2017 链接并且选择的工具集 14.1 会引发错误:

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

如您所见,只有工具集不正确。是否有额外的开关以及在哪里可以找到?谢谢。

一条评论:我使用 project-config.jam 设置构建了 bjam.exe

using msvc : 14.1;

库的构建速度快如闪电:所有 x64 库的构建时间低于 20 秒!

最佳答案

Boost 1.63 尚未与 Visual Studio 2017 兼容,因此您必须手动执行一些操作来修复问题。为了确保它选择正确的库文件,您需要编辑 auto_link.hpp,它位于 boost/config 中。更改这些行:

# elif defined (BOOST_MSVC)

// vc14:
# define BOOST_LIB_TOOLSET "vc140"

对此:

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

// vc14:
# define BOOST_LIB_TOOLSET "vc140"

# elif defined (BOOST_MSVC)

// vc15:
# define BOOST_LIB_TOOLSET "vc141"

然后对 boost 库进行干净的重新编译,并将包含的文件的原始版本替换为修改后的版本。

关于c++ - boost 链接器错误错误的工具集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43262600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com