关于 Boost.Python 的介绍性示例
当你必须在 Python 项目中使用 C++库时,事情很简单。只是你可以使用 Boost。
首先,这里是你需要的组件列表:
- 一个 CMakeList.txt 文件,因为你将使用 CMake。
- C++项目的 C++文件。
- python 文件 - 这是你的 python 项目。
让我们从一个小的 C++文件开始。我们的 C++项目只有一个方法返回一些字符串这是第一次尝试。称之为 CppProject.cpp
char const *firstMethod() {
return "This is the first try.";
}
BOOST_PYTHON_MODULE(CppProject) {
boost::python::def("getTryString", firstMethod); // boost::python is the namespace
}
在下面有一个 CMakeLists.txt 文件:
cmake_minimum_required(VERSION 2.8.3)
FIND_PACKAGE(PythonInterp)
FIND_PACKAGE(PythonLibs)
FIND_PACKAGE(Boost COMPONENTS python)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS})
PYTHON_ADD_MODULE(NativeLib CppProject)
FILE(COPY MyProject.py DESTINATION .) # See the whole tutorial to understand this line
通过本教程的这一部分,一切都非常简单。你可以在你的 python 项目中导入库和调用方法。调用你的 python 项目 MyProject.py 。
import NativeLib
print (NativeLib.getTryString)
要运行你的项目,请按照以下说明操作:
- 创建名为 build 的目录。
- 进入该目录。
- 发出命令
cmake -DCMAKE_BUILD_TYPE=Release ..
make
python MyProject.py
。现在,你必须看到 C++项目中的方法返回的字符串。