2015-01-30 2 views
0

Я пытаюсь получить пример приветствия для повышения работы python. Я использую OSX, boost 1.55 и python 2.7boost_python Привет, пример не работает

Вот мой hello.cpp

#include <boost/python/module.hpp> 
#include <boost/python/def.hpp> 

char const* greet() 
{ 
    return "hello, world"; 
} 

BOOST_PYTHON_MODULE(hello_ext) 
{ 
    using namespace boost::python; 
    def("greet", greet); 
} 

и я собрал его со следующими двумя строками:

g++ -fPIC -I/usr/include/python2.7/ -I/usr/local/include/ -c hello.cpp 
g++ -shared -Wl, -o hello.so hello.o -L/usr/lib -L/usr/local/lib -lpython2.7 -lboost_python 

Когда я пытаюсь импортировать его в питон по делая импорт hello.so Я получаю следующее сообщение об ошибке:

ImportError: dynamic module does not define init function (inithello)

Любые идеи?

ответ

0

Оказывается, имя в BOOST_PYTHON_MODULE должно совпадать с именем библиотеки, поэтому я изменил шаг, связывающую к

g++ -shared -Wl, -o hello_ext.so hello.o -L/usr/lib -L/usr/local/lib -lpython2.7 -lboost_python 
Смежные вопросы