Import Error on boost python hello program
boost, python
Solution
Solved this via "No such file or directory" error with Boost Python
g++ -c -fPIC hello.cpp -o hello.o
g++ -shared -Wl,-soname,hello.so -o hello.so hello.o -lpython2.6 -lboost_python
did the trick for me. I hope this is as clear as possible as i was struggling with this for about half an hour now ;)
Problem
include ``` using namespace boost::python; struct World{ void set(std::string msg) { this->msg = msg; } std::string greet() { return msg; } std::string msg; }; BOOST_PYTHON_MODULE(hello) { class_<World>("World") .def("greet", &World::greet) .def("set", &World::set) ; } ``` Compile and build ok ``` ~/boost$ g++ -fPIC -I/usr/include/python2.6 -c hello.cpp ~/boost$ g++ -shared hello.o -o hello.so ``` But when import from python side, got error. ``` >>> import hello.so Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: ./hello.so: undefined symbol: _ZNK5boost6python7objects21py_function_impl_base9max_arityEv >>> ```