Динамический модуль ImportError не определяет функцию инициализации (boost.python) - PullRequest
0 голосов
/ 13 ноября 2018

Спасибо за просмотр этой темы. Я пытался использовать boost.python, но теперь эта ошибка происходит.

ImportError: динамический модуль не определяет функцию инициализации (Initlatticepy)

Я проверил некоторые вопросы в сети, и в некоторых ответах говорилось, что имя и имя файла BOOST_PYTHON_MODULE должны совпадать. (напр. эта страница сказала) Но я уже сделал это.

Это мой код lattice.h,

BOOST_PYTHON_MODULE(latticepy)
{
  using namespace boost::python;
  class_<lattice::Lattice>("Lattice")
    .def("loadProperties", &lattice::Lattice::loadProperties)
    .def("train", &lattice::Lattice::train)
    .def_readonly("hmm_", &lattice::Lattice::hmm_);
}

и код сборки.

g++ -I`python -c 'from distutils.sysconfig import *; print get_python_inc()'` -DPIC -shared -fPIC -o latticepy.so lattice.h -g -O0 -lfst -ldl -lboost_system -lboost_python -std=c++11 -lpython2.7
...