Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PosipyPython中暴露C++到Python错误 我通过PosipyPython库将一个简单的C++代码暴露给Python: #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_C++_Boost - Fatal编程技术网

从PosipyPython中暴露C++到Python错误 我通过PosipyPython库将一个简单的C++代码暴露给Python: #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 ); }

从PosipyPython中暴露C++到Python错误 我通过PosipyPython库将一个简单的C++代码暴露给Python: #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,c++,boost,Python,C++,Boost,我已经将该模块静态链接到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

我已经将该模块静态链接到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

_Py_RefTotal在object.h中的预编译器保护下定义:

$less include/python3.6m/object.h

我链接了python3.6m,但包含了include/python3.6dm中的头文件。修复了包括ptyhon3.6m在内的问题

尝试包含模块定义需要此包含。禁止。它仍然缺少符号。我注意到libboost_python.a和libboost_python.so中的符号都是未定义的:这看起来很有希望。。。我没有python3boost库。我将重新编译boost,确保boost与我的python安装一致。
$less include/python3.6m/object.h
#ifdef Py_REF_DEBUG
PyAPI_DATA(Py_ssize_t) _Py_RefTotal;
...
...
#endif /* Py_REF_DEBUG */