關於 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++專案中的方法返回的字串。