Не уверен, какие примеры вы упоминаете, но чтобы установить 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
. Все предлагаемые функции будут одинаковыми. Пакет хорошо спроектирован и определяет, используется ли он в качестве мастер-проекта или нет, и определяет ли он цели INSTALL или нет.
Итак, я думаю, что на ваши последние 2 вопроса даны ответы?