c++ - 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;
}
我的错误在哪里?请帮忙。
解决方案
当您没有以正确的方式将包添加到项目中时,会发生此错误。在我的示例中,通过 Homebrew 安装 Boost 解决了这个问题。以正确的方式安装包意味着如果你手动安装它(例如从 GitHub 下载它),你应该将它安装在正确的路径上。但我建议始终通过 Homebrew 安装 C++ 包。
推荐阅读
- python - 如何从类名中获取方法
- firebase - 在 QuerySnapshot Firebase Flutter 自动增长列表的 ForEach 循环内计算会导致错误的计算 - 错误的结果
- c# - 在下拉列表剃刀视图中实现 for 循环
- javascript - 需要电子/快递应用程序中的文件
- react-native - 如何在 react-native 中将输入组件滚动到 onFocus 上的屏幕顶部?
- dafny - 以二进制搜索为例了解 dafny 代码终止
- sql-server - EFCore 中的 CTE(公用表表达式)
- reactjs - React - 单击时添加活动类
- python - zeep 客户端抛出 UnicodeDecodeError utf-8 编解码器无法解码字节
- reactjs - 如何根据用户输入更新右侧的结果