介绍
pybind11 是一个轻量级的 header-only 库,可以将 C++ 类型暴露给 Python,反之亦然,主要用来将 C++ 接口转成 Python。
安装
apt install python3-dev
git clone https://github.com/pybind/pybind11/
git submodule update --init --recursive
如果需要交叉编译 arm64 平台,会需要 aarch64-linux-gnu 中的头文件,可以改名或者下载
构建
CMakeLists.txt:
add_subdirectory(pybind11)
target_link_libraries(${PROJECT_NAME} PUBLIC pybind11)
pybind11_add_module(${PROJECT_NAME} SHARED src/python.cpp) # 类似 add_library
C++ 使用
python.cpp
普通函数
#include <pybind11/pybind11.h>
namespace py = pybind11;
int <