我\xe2\x80\x99一直在尝试在新PC上设置ITK,但当我在项目上运行CMake时遇到了问题。
\n\n我下载了 ITK 4.8.2,将其解压,使用 CMake 配置并一如既往地生成。然而,这次 CMake 发出以下错误:
\n\nCMake 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!\nRun Code Online (Sandbox Code Playgroud)\n\nCMakeLists.txt 文件非常强大,只是试图确保 cmake/ITK 设置正确:
\n\ncmake_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})\nRun Code Online (Sandbox Code Playgroud)\n\n我添加了CMAKE_PREFIX_PATH和ITK_DIR作为附加条目,后者指向 ITK 文件夹的位置。但问题仍然存在。
至于它说找不到的文件,其中一个存在于我设置 cmake 来构建二进制文件的文件夹中。就我而言,两个目录中有两个文件:
\n\n--E:\\ITK\\InsightToolkit-4.8.2-build\\ITKConfig.cmake\n--E:\\ITK\\InsightToolkit-4.8.2-build\\CMakeFiles\\ITKConfig.cmake\nRun Code Online (Sandbox Code Playgroud)\n
文件 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.cmake到CMAKE_PREFIX_PATH.