您的位置:首页 > 编程语言 > Python开发

Boost.python 编译和使用

2013-11-07 16:29 585 查看
cent os

1) 安装python

yum install python26

2) 安装python devel

yum search python | grep -i devel

yum  install python-devel.x86_64  =====================否则一堆怪异的找不到头文件错误


3) 库、include

-lboost -lboost_python -lpython2.6

-I/usr/include/python2.6/

4) 安装boost

-lboost -I/usr/local/boost

安装boost_python。 默认boost不是完全安装?

1)编译bjam

sh ./bootstrap.sh
2)编译boost python
进入boost源码目录,执行
sudo ./bjam -toolset=gcc --with-python --with-python --layout=tagged --build-type=complete stage
顺利完成后,将在stage目录下生成相应的lib

======================================使用===========================================

1) c/c++编译成so

2) so中增加代码行

python是boost::python名字空间。

def的第一个参数是导出给python调用的; 第二个参数是c/c++函数

其中, MODULE名字和so的名字必须相同(不用带.so); BOOST_PYTHON_MODULE只能有一个, 否则就会报错重定义。

BOOST_PYTHON_MODULE(libcheck) {
python::def("CheckInit", CheckInit);
python::def("CheckCaseClassIdContinous", CheckCaseClassIdContinous);
python::def("GetOKMessages", GetOKOKMessages);
python::def("GetERMessages", GetERERMessages);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: