1 说明
Python很强大,但已有的模块可能满足不了所有的场景需求,于是有时需要编写扩展模块进行完善。Boost无疑是开发最快的一种方案。
2 Boost.Python环境配置
2.1 安装Python、Boost
Python安装不再细述,ubuntu下安装boost只需一行命令即可。
安装完成之后,用下面这段代码测试:
运行成功则说明Boost环境已经搭建好啦。
3利用C++ Boost编写Python模块
3.1 源文件编写
|
|
3.2 编译为动态库
在命令行中执行:
其中,YourPythonIncludePath为本地python库的路径。
执行这一步过程中,可能报这个错误:
这个错误一般就是由于上面YourPythonIncludePath配置不对导致的。当然,不过不想每次都加上这个路径,可以将其配置到环境变量中:
这一步配置正确了,可能还会遇到以下这个问题:
用locate命令查找下boost_python.so,确实没有这个文件,
执行上述命令安装这个库即可。
以上所有步骤都正确则会在当前目录中生成一个boostpy.so文件,这个文件即是python中的模块。
3.3 python加载模块
在python中直接import这个module即可使用:
4 References
[1] http://stackoverflow.com/questions/33471055/library-not-found-for-lboost-python
[2] http://stackoverflow.com/questions/19810940/ubuntu-linking-boost-python-fatal-error-pyconfig-cannot-be-found