#cmake #include #command-line-arguments
#cmake #включить #аргументы командной строки
Вопрос:
При попытке собрать эту библиотеку с помощью Cmake из командной строки разработчика для VS я получаю эту ошибку
CMake Error at cmake/FindEigen.cmake:77 (MESSAGE):
Failed to find Eigen - Could not find eigen3 include directory, set
EIGEN_INCLUDE_DIR to path to eigen3 include directory, e.g.
/usr/local/include/eigen3.
Я хотел бы узнать, что было предназначено для меня здесь: я должен установить EIGEN_INCLUDE_DIR
с помощью аргумента командной строки или путем редактирования файла make?
Я пробовал cmake -D EIGEN_INGLUDE_DIR=C:UsersaDownloadseigen-3.3.7eigen-3.3.7 .
, но получил ту же ошибку.
Комментарии:
1. Вы уверены, что присвоенное вам значение
EIGEN_INGLUDE_DIR
на самом деле является включаемым каталогом собственного элемента? Например, у вас действительно есть файлC:UsersaDownloadseigen-3.3.7eigen-3.3.7EigenCore
?2. Да, у меня есть этот файл. Так что это должно сработать? спасибо, я проведу расследование
Ответ №1:
cmake -D EIGEN_INGLUDE_DIR=C:UsersaDownloadseigen-3.3.7eigen-3.3.7 .
сбой без создания каких-либо файлов ( cmake ..
по крайней мере, начал сборку) и выдал мне эту ошибку
Ошибка CMake: источник «C:/Users/a/Downloads/RpolyPlusPlus-master/RpolyPlusPlus-master/build/CMakeLists.txt » не соответствует источнику «C:/Users/a/Downloads/RpolyPlusPlus-master/RpolyPlusPlus-master/CMakeLists.txt » используется для создания кэша. Повторно запустите cmake с другим исходным каталогом.
Итак, я просто добавил это в файл .cmake:
# TODO: Add standard Windows search locations for Eigen.
LIST(APPEND EIGEN_CHECK_INCLUDE_DIRS
/usr/local/include
/usr/local/homebrew/include # Mac OS X
/opt/local/var/macports/software # Mac OS X.
/opt/local/include
/usr/include
C:\Users\a\Downloads\eigen-3.3.7) <---------------------------------------