Чтобы суммировать комментарии для полноты:
Команда CMake find_package()
имеет два режима работы: Модуль и Конфиг режим. По существу, эта ошибка говорит о том, что режим Module завершился ошибкой, затем режим Config не смог найти пакет Eigen3:
By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Eigen3", but
CMake did not find one.
Could not find a package configuration file provided by "Eigen3" with any
of the following names:
Eigen3Config.cmake
eigen3-config.cmake
Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
"Eigen3_DIR" to a directory containing one of the above files. If "Eigen3"
provides a separate development package or SDK, be sure it has been
installed.
В общем, когда пакет XXX (например, Eigen3) установлен, например, этот пакет должен настроить файл XXXConfig.cmake
. Таким образом, внешние проекты могут найти и использовать пакет XXX, вызвав find_package()
в режиме Config .
Поскольку ваш пакет Eigen3 был не установлен , файл Eigen3Config.cmake
не был настроен. Таким образом, поиск в режиме Module должен работать для вас, так как в ваших каталогах Eigen3 существует только файл FindEigen3.cmake
. Для режима Модуль путь к файлу FindEigen3.cmake
должен быть добавлен к CMAKE_MODULE_PATH
, как предполагает ошибка. Добавление этой строки до вызова find_package(Eigen3 ...)
позволяет режиму CMake Module добиться успеха:
list(APPEND CMAKE_MODULE_PATH "C:/eigen-3.3.7/cmake")