【问题标题】:Boost, Python: Linker error with Visual Studio 2015Boost,Python:Visual Studio 2015 的链接器错误
【发布时间】:2023-04-06 03:52:01
【问题描述】:

我基本上和这里的人一样:

Building/including Boost.Python in VS2013

但是,我使用了一个空的 cpp 文件,其中只有 main 函数并包含 <boost/python.hpp>

#include <boost/python.hpp>


int main() {
    return 0;
}

现在我得到了奇怪的链接器错误(在 Visual Studio 中):

1>LINK : fatal error LNK1104: cannot open file 'boost_python-vc140-mt-gd-1_60.lib'

这很奇怪,因为我认为我有lib 文件,但是它被称为:

libboost_python3-vc140-mt-gd-1_60.lib

【问题讨论】:

  • 您的程序正在尝试动态链接到 Boost.Python。尝试在您的 cpp 文件中添加 #define BOOST_PYTHON_STATIC_LIB,在任何 #include 之前。 boost_python-vc140-mt-gd-1_60.lib 是伴随boost_python-vc140-mt-gd-1_60.dll 的导入库,而libboost_python3-vc140-mt-gd-1_60.lib 是静态库。您可能想要为 Boost.Python 构建 DLL。静态链接有几个缺陷,比如每个扩展都有自己的 Boost.Python 类型注册表副本。您可以通过谷歌搜索找到更多相关信息。
  • ^ 你,先生,刚刚救了我的命。

标签: python c++ boost linker visual-studio-2015


【解决方案1】:

您需要配置您的 Visual C++ 项目设置。 以下案例运行良好。

  • [调试平台模式] x64
  • [包含目录] (..\;;);C:\boost\boost_1_60_0\;C:\Python35\include\; # 添加实际的 boost 和 python 目录路径
  • [库目录] (..\;;);C:\Python35\libs\;C:\boost\boost_1_60_0\stage\lib; # 添加实际的 boost 和 python 库路径

【讨论】:

    猜你喜欢
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多