CMake VTK_DIR-NOTFOUND
VTK_DIR-NOTFOUND возвращается при использовании CMake. Я использую CMake GUI и, как другие ошибки пути, могу указать на правильный путь. Однако для ВТК не работает. Я указываю на каталог, где находится файл VTConfig.cmake и другие. Также пробовал со всеми другими версиями VTK, но без каких-либо успехов. Я использую конфигурацию Visual Studio 12 2013 Win 64 для генерации, но также пытался с 2010 года.
![введите описание изображения здесь]()
указывая путь вручную,
![введите описание изображения здесь]()
Ответы
Ответ 1
Первое, что я проверил, это то, что вызывается фактическая команда find_package()
, где возникает ошибка? Возможно, этот вызов является чем-то необычным или явно имеет ключевое слово MODULE (это предотвратит поиск файла VTKConfig.cmake
).
Если это выглядит нормально, проверьте, что-то изменяет переменную VTK_DIR. Вставьте следующее в верхней части самого верхнего файла CMakeLists.txt:
variable_watch(VTK_DIR)
Это должно сказать вам, что, если что-либо, модифицирует его так, как вы этого не ожидали.
Предполагая, что VTK_DIR на самом деле не изменен, следующая вещь, которую вы могли бы попробовать, - установить CMAKE_PREFIX_PATH
в каталог, содержащий файл VTKConfig.cmake
(вы можете добавить это в графический интерфейс CMake, если он еще не существует). Возможно, также попробуйте variable_watch(CMAKE_PREFIX_PATH)
тоже на случай, если что-то изменит, что внутри тоже неожиданно было.
Если это все еще ничего не говорит, возможно, что что-то не так с вашей установкой CMake или VTK. Возможно, попробуйте более раннюю версию CMake и посмотрите, не изменилось ли поведение.
Ответ 2
Хотя принятый в настоящее время ответ - хороший способ отладки, похоже, что вы создаете Point Cloud Library (PCL) с помощью двоичных файлов unancyowen. В этом случае я предлагаю обеспечить правильную настройку переменных среды , которые автоматизируют процесс, который вы сейчас просматриваете, и облегчаете работу find_package ().
Предполагая, что вы установили все в одном каталоге (т.е. Где вы уже привязаны к FLANN и Eigen), в Path необходимо добавить следующие библиотеки сторонних разработчиков PCL:
C:\Program Files\PCL 1.7.2\3rdParty\FLANN\bin
C:\Program Files\PCL 1.7.2\3rdParty\VTK\bin
C:\Program Files\PCL 1.7.2\3rdParty\Eigen
C:\Program Files\PCL 1.7.2\3rdParty\Boost
Затем Qt, OpenNI и т.д., которые устанавливаются отдельно.
И вы также можете добавить:
BOOST_INCLUDEDIR: C:\Program Files\PCL 1.7.2\3rdParty\Boost\include\boost-X_XX\boost (замените X_XX номером своей версии)
BOOST_LIBRARYDIR: C:\Program Files\PCL 1.7.2\3rdParty\Boost\lib
BOOST_ROOT: C:\Program Files\PCL 1.7.2\3rdParty\Boost
EIGEN_ROOT: C:\Program Files\PCL 1.7.2\3rdParty\Eigen
Ответ 3
В поле, где это показывает, что
VTK - DIR: НЕ НАЙДЕН
Вы можете скопировать, вставить местоположение или ввести или просто VTKConfig.cmake
файл с именем VTKConfig.cmake
. Обычно находится в папке сборки VTK. Вот как это решается в моем случае. Попробуй!!