关于boost-python:dyld:未找到符号:_PyBaseObject_Type

时间:2015-10-13 05:11:54

标签: python c++ boost ld boost-python

当我运行我的代码时,我遇到了有关boost-python的问题。就像这样:

dyld: Symbol not found: _PyBaseObject_Type
Referenced from: /opt/local/lib/libboost_python-mt.dylib
Expected in: flat namespace

几个月前我的项目可以正常运行。但现在,当我重新配置环境时,它无法运行。

- 几个月前,我使用自制软件来配置环境,就像这样:

brew install boost
brew install python
brew install boost-python
brew install opencv(My project is an Opencv project)

- 但现在,它不起作用,错误就像上面那样。所以我使用Macports来安装boost,如下所示:

sudo port install boost
sudo port install py27-pip
sudo port select --set python python27
sudo port select --set pip pip27
sudo port install py27-numpy
brew install opencv(The version of opencv in port is 3.0, so i use brew)

- 但它有同样的问题。

谁知道如何处理这个问题?是关于boost-python的吗?我应该如何正确安装boost-python?它是关于boost / boost-python的版本吗?

1 个答案:

答案 0 :(得分:1)

您没有提及升级版本和/或编译器。但我在Python的bug追踪器上找到了a very similar issue

由于您似乎使用ld链接器,因此您应尝试将代码与-Wl,--export_dynamic相关联。