Как заставить cmake находить pybind11 - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь следовать простому примеру для встраивания python в c ++ с использованием pybind11, как показано на этой странице. Однако при попытке использовать cmake для создания решения я все время получаю сообщение об ошибке:

. Не указав «Findpybind11.cmake» в CMAKE_MODULE_PATH, этот проект попросил CMake найти предоставленный файл конфигурации пакета. by "pybind11", но CMake его не нашла.

Не удалось найти файл конфигурации пакета, предоставленный "pybind11" с любым из следующих имен:

pybind11Config.cmake
pybind11-config.cmake

I у меня на рабочем столе есть папка pybindtest, в которую входят CMakeLists.txt и main. cpp, как описано в приведенной выше ссылке, а также созданная мной папка сборки. Находясь в папке сборки, я безрезультатно пробовал следующие строки (работает на Powershell 7):

cmake ..
cmake .. -Dpybind11_DIR=C:/Users/ben.wolfley/Anaconda3/Library/share/cmake/pybind11/pybind11Config.cmake
cmake .. -DCMAKE_MODULE_PATH=C:/Users/ben.wolfley/Anaconda3/Library/share/cmake/pybind11

Я установил pybind11, используя conda install pybind11, а pybind11Config.cmake находится в C:\Users\ben.wolfley\Anaconda3\Library\share\cmake\pybind11

1 Ответ

0 голосов
/ 05 августа 2020

Спасибо Цывареву за то, что указал мне в правильном направлении. Сработала следующая команда:

cmake .. -G "Visual Studio 15 2017" -A x64 `
      -Dpybind11_DIR=C:/Users/ben.wolfley/Anaconda3/Library/share/cmake/pybind11/

Я указывал на файл .cmake, а не на каталог файла. Мне также пришлось указать компилятор, чтобы код работал.

...