Boost Python,Visual Studio链接到错误的boost dll

Posted

技术标签:

【中文标题】Boost Python,Visual Studio链接到错误的boost dll【英文标题】:Boost Python, Visual Studio links to wrong boost dll 【发布时间】:2016-01-22 11:43:15 【问题描述】:

我使用了dependency walker,发现VS没有链接到boost_python3_...,而是链接到boost_python_...。我删除了非 3 版本,但现在链接器抱怨它找不到 boost_python-vc140-mt-1_60.lib。我必须做什么才能与 Python 3 boost 库链接?还是非 3 版本也用于 python 3?

【问题讨论】:

您使用的是哪个编译器?对于 vc 定义 BOOST_ALL_NO_LIB 关闭自动链接。然后显式添加 .lib 作为附加链接器输入(设置/链接器/输入)。我遇到了同样的问题:***.com/questions/44153858/… 感谢您的回复。其实我换成了pybind11,不记得当时用的是哪个编译器了。我猜是 vs2015 附带的那个 【参考方案1】:

我遇到了同样的问题,这些选项对我来说效果很好:

    转到 boost/python/detail/config.hpp 并将 BOOST_LIB_NAMe 更改为 boost_python3 而不是 boost_python。

    通过定义 BOOST_ALL_NO_LIB 开启自动链接,然后将 boost_python3...lib 显式设置为链接器依赖项。

【讨论】:

以上是关于Boost Python,Visual Studio链接到错误的boost dll的主要内容,如果未能解决你的问题,请参考以下文章

使用 Visual Studio 2008 构建 boost python 示例

无法在 Visual Studio 2008 中构建 Boost.python。编译出错

在使用 Visual Studio 2017 和 boost 构建的 python 中加载自定义 dll 时出现依赖错误

visual studio 2010问题修复

Visual Studio 2019安装boost 1.7.0库

Visual Studio 2019安装boost 1.7.0库