python - ImportError 动态模块没有定义初始化函数(boost.python)
问题描述
谢谢你看到这个话题。我尝试使用boost.python
,但现在发生此错误。
ImportError:动态模块没有定义初始化函数(initlatticepy)
我在网上查了一些问题,一些答案说 BOOST_PYTHON_MODULE 名称和文件名必须相同。(例如this page说)但我已经做到了。
这是我的代码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
解决方案
推荐阅读
- save - 如何在 DM 3.4 中重新保存光盘上现有的图像(强制替换。)
- python - 合并具有不同行的熊猫数据框?
- mongodb - Datastax 企业版和 MongoDB 企业版的许可费用是多少?
- python - JSON 格式的 Ansible 动态库存未得到解析
- pandas - 将Dataframe列作为变量传递给循环中的dict
- java - 将类对象传递到另一个类中的列表的方法
- javascript - jQuery .html() 删除所有与表格相关的标签并破坏 HTML
- excel - 比较两个范围,如果重复则从第三个范围插入值
- download - 我如何正确安装 NuSMV,因为下载时 bin 文件不包含 .exe 文件?
- javascript - VueJS 遍历对象中的数组?