ITK:找不到ITKConfig.cmake

Jay*_*y T 5 cmake itk

我\xe2\x80\x99一直在尝试在新PC上设置ITK,但当我在项目上运行CMake时遇到了问题。

\n\n

我下载了 ITK 4.8.2,将其解压,使用 CMake 配置并一如既往地生成。然而,这次 CMake 发出以下错误:

\n\n
CMake Error at CMakeLists.txt:4 (find_package):\n  By not providing "FindITK.cmake" in CMAKE_MODULE_PATH this project has\n  asked CMake to find a package configuration file provided by "ITK", but\n  CMake did not find one.\n\n  Could not find a package configuration file provided by "ITK" with any of\n  the following names:\n\n    ITKConfig.cmake\n    itk-config.cmake\n\n  Add the installation prefix of "ITK" to CMAKE_PREFIX_PATH or set "ITK_DIR"\n  to a directory containing one of the above files.  If "ITK" provides a\n  separate development package or SDK, be sure it has been installed.\n\n-- Configuring incomplete, errors occurred!\n
Run Code Online (Sandbox Code Playgroud)\n\n

CMakeLists.txt 文件非常强大,只是试图确保 cmake/ITK 设置正确:

\n\n
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)\nproject(ITKTest)\n\nfind_package(ITK REQUIRED)\ninclude(${ITK_USE_FILE})\n\nadd_executable(ITKTest main.cpp)\n\ntarget_link_libraries(ITKTest ${ITK_LIBRARIES})\n
Run Code Online (Sandbox Code Playgroud)\n\n

我添加了CMAKE_PREFIX_PATHITK_DIR作为附加条目,后者指向 ITK 文件夹的位置。但问题仍然存在。

\n\n

至于它说找不到的文件,其中一个存在于我设置 cmake 来构建二进制文件的文件夹中。就我而言,两个目录中有两个文件:

\n\n
--E:\\ITK\\InsightToolkit-4.8.2-build\\ITKConfig.cmake\n--E:\\ITK\\InsightToolkit-4.8.2-build\\CMakeFiles\\ITKConfig.cmake\n
Run Code Online (Sandbox Code Playgroud)\n

usr*_*567 5

文件 FindITK.cmake 在 CMake 3.0 中已被删除。

FindITK
该模块不再存在。

该模块存在于 3.1 之前的 CMake 版本中,但只是一个薄包装,find_package(ITK NO_MODULE)为使用早已过时的约定的项目提供兼容性。现在 find_package(ITK)就直接搜索ITKConfig.cmake

来源:https ://cmake.org/cmake/help/v3.4/module/FindITK.html

因此,CMake 会查找ITKConfig.cmake,它必须安装到默认位置,或者您必须将路径添加ITKConfig.cmakeCMAKE_PREFIX_PATH.