首页 > 解决方案 > dyld:找不到符号:_PyBaseObject_Type

问题描述

我想在我的 C++ 代码中使用 Boost 库,所以我输入了正确的包含搜索路径和正确的库搜索路径,然后我在 Xcode 中添加了所有 Boost 库文件。当我构建我的代码时,编译器说构建成功。但是,一旦我运行代码,控制台就会告诉我:

安慰:

dyld: Symbol not found: _PyBaseObject_Type
  Referenced from: /usr/local/lib/libboost_python27.dylib
  Expected in: flat namespace
 in /usr/local/lib/libboost_python27.dylib
Program ended with exit code: 9

我的代码:

#include <iostream>
#include <boost/any.hpp>

int main()
{
    std::cout << std::endl;
    return 0;
}

我的错误在哪里?请帮忙。

标签: c++macosboostboost-pythonmacos-catalina

解决方案


当您没有以正确的方式将包添加到项目中时,会发生此错误。在我的示例中,通过 Homebrew 安装 Boost 解决了这个问题。以正确的方式安装包意味着如果你手动安装它(例如从 GitHub 下载它),你应该将它安装在正确的路径上。但我建议始终通过 Homebrew 安装 C++ 包。


推荐阅读