pybind11文档通常是很好的,但是有一个方面不是这样的,那就是解释安装过程以及使用cmake获取和运行示例的过程。
我已经想出了如何获取和构建示例。但这会导致更多的问题。几乎所有示例都依赖于将pybind11回购下载到示例文件夹中,并将回购的根文件夹包含在cmake中(根文件夹包含一个cmakelists.txt文件)。该回购的内容与使用pip或conda安装pybind11时添加到python环境中的内容有很多相同之处。但是文件夹的组织完全不同。
所以我很好奇:
总的来说,我真的很不舒服,不了解这些东西的“工作原理”,所以这真的会对我有帮助。
发布于 2020-04-13 20:58:13
不确定您提到了哪些示例,但是要在系统中安装pybind11并将其用于不同的项目,只需遵循安装基于CMake的软件包的标准过程。
mkdir build
cd build
cmake ../ # optionally you can specify -DPYBIND11_PYTHON_VERSION=<your python version>
make
sudo make install然后,在另一个项目的CMakeLists.txt中,您可以使用它,例如:
find_package(pybind11 CONFIG REQUIRED)
message(STATUS "Found pybind11 v${pybind11_VERSION}: ${pybind11_INCLUDE_DIRS}")
add_library(<name of your lib> MODULE <your sources>)
target_link_libraries(mylib pybind11::module)有关更多CMake命令,请参阅pybind11Config.cmake。
然后,如果您不想在您的系统中安装它,您可以将pybind11回购嵌入到您的项目树中,使用add_subdirectory而不是find_package。所有提供的功能将是相同的。这个包设计得很好,它检测它是否被用作主项目,或者定义了安装目标。
所以我想你最后的两个问题已经回答了?
https://stackoverflow.com/questions/61196272
复制相似问题