gpt4 book ai didi

python - 将 C++ 暴露给来自 BoostPython 的 Python 错误

转载 作者:太空宇宙 更新时间:2023-11-04 13:51:59 24 4
gpt4 key购买 nike

我正在通过 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 存在于工作目录中。

关于在哪里可以找到丢失的符号有什么建议吗?

最佳答案

Boost 库与 Python 安装不一致。

cd boost_source
./bootstrap.sh --with-libraries=python --prefix=../boost_target

配置 Boost 以指向正确的 Python 安装:

vim tools/build/v2/user-config.jam

编辑指向 Python 的行:

using python : version_number
: path_to_python_executable
: path_to_python_include_directory
: path_to_python_library_directory

然后,运行构建系统:

./b2

关于python - 将 C++ 暴露给来自 BoostPython 的 Python 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23155829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com