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. Вот как это решается в моем случае. Попробуй!!