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

use*_*267 6 c++ python 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
Run Code Online (Sandbox Code Playgroud)

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

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

brew install boost
brew install python
brew install boost-python
brew install opencv(My project is an Opencv project)
Run Code Online (Sandbox Code Playgroud)

- 但现在,它不起作用,错误就像上面一样.所以我使用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)
Run Code Online (Sandbox Code Playgroud)

- 但它有同样的问题.

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

cro*_*mod 3

您没有提到您的升压版本和/或编译器。但我在 Python 的错误跟踪器上发现了一个非常相似的问题。

当您似乎使用ld链接器时,您应该尝试将代码链接到-Wl,--export_dynamic.