【发布时间】:2014-04-18 14:08:07
【问题描述】:
我正在通过 BoostPython 库向 Python 公开一个简单的 C++ 代码:
#include <boost/python/detail/wrap_python.hpp>
#include <boost/python.hpp>
using namespace boost::python;
bool test_api( void ){
return true;
};
BOOST_PYTHON_MODULE(materials) {
def( "test_api", test_api );
}
我尝试导入此模块后,python 解释器返回错误:
ImportError: ./example.so: undefined symbol: _Py_RefTotal
我已将模块与 boost python 库静态链接,并且工作目录中存在 python 动态库 libpython3.2m.so 和 libpython3.2m.so.1.0。
关于在哪里找到丢失的符号有什么建议吗?
【问题讨论】:
-
try include
#include <boost/python/module.hpp>你需要这个 include 来定义模块。 -
不行。它仍然缺少符号。我注意到 libboost_python.a 和 libboost_python.so 中的符号都未定义
-
这看起来很有希望......我没有 python3 boost 库。我要重新编译 boost 确保 boost 与我的 python 安装一致。