Я заинтересован в использовании Boost.Python для вызова функций C++ из сценариев Python .Вызов C++ из python с использованием boost python: вводный пример не работает
Этот пример here является вводным примером на домашней странице Boost python, которой я не могу работать. Может ли кто-нибудь помочь мне с этим?
Это то, что я пытался
Я создал файл с именем hello_ext.cpp следующим
#include <boost/python.hpp>
char const* greet()
{
return "hello, world";
}
BOOST_PYTHON_MODULE(hello_ext)
{
using namespace boost::python;
def("greet", greet);
}
Затем я скомпилировал его в общую библиотеку следующим
Наконец розжига интерпретатор ipython Я попытался установить import hello_ext
, но получил следующее сообщение об ошибке. Где я неправ?
In [1]: import hello_ext
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-18c4d6548768> in <module>()
----> 1 import hello_ext
ImportError: ./hello_ext.so: undefined symbol: _ZNK5boost6python7objects21py_function_impl_base9max_arityEv
Вам нужно связать 'libhello_ext.so' с' libboost_python'. –
@ н.м. Спасибо! Можете ли вы рассказать мне, как я должен это делать? Мне нужно изменить первую или вторую строку? – smilingbuddha