最近工作中遇到一个项目需要在python中调用C++的API。网上查了一些有关python扩展的资料,有SWIG,cython,boost等多种方式。
这里采用比较省时省力的boost & py++ 方案。
一、首先是环境安装准备(windows平台):
编译器IDE用的Visual Studio。
由于此方案工具链中需要用到:
1.boost(官方地址 https://www.boost.org/doc/libs/1_68_0/more/getting_started/windows.html),安装较为简单。下载解压到目标路径然后
运行里面的bootstrap.bat文件即可。
2.CastXML(https://github.com/CastXML/CastXML)
Unix下安装就比较方便,windows平台下从源码安装就比较麻烦有cmake,LLVM等依赖。但有一个简单省事的方式就是用这个超级包它将所需依赖一起打包了
安装比较省事除了时间久一点(https://github.com/CastXML/CastXMLSuperbuild)。与github上安装指引不同的是cmake后最后一步make改为用
Visual Studio生成解决方案(打开CastXMLSuperbuild.sln文件生成)一段时间后就都安装好了。
3.py++
这个最简单,直接用pip install pyplusplus 即可。
4.pygccxml
和上面一样直接 pip install pygccxml
到这一步,环境基本准备完毕。接下来测试用例。