Я новичок в использовании boost python и борюсь со следующим кодом, я пытаюсь передать vector в качестве аргумента функции gen_fibonacci (), но получаю ошибку: ImportError: ./Strat.so: undefined symbol: _ZN5Strat13gen_fibonacciERSt6vectorIlSaIlEEii
при импорте этого модуля из python shell.
namespace python = boost::python;
class Strat
{
public:
long gen_fibonacci(std::vector<long> &a,int in,int n);
};
BOOST_PYTHON_MODULE(Strat)
{
python::class_<std::vector<long> >("long_vector")
.def(python::vector_indexing_suite<std::vector<long> >())
;
python::class_<Strat>("Strat")
.def("gen_fibonacci", &Strat::gen_fibonacci)
;
}
compiling ::
g++ -I /usr/include/python2.7 -fpic -c -o Strat.o strat_helper.cpp
g++ -o Strat.so -shared Strat.o -L/usr/lib/x86_64-linux-gnu -lboost_python-py27 -lpython2.7