我一直在尝试在一台新的PC上安装ITK,当我在一个项目上运行CMake时遇到了一个问题。
我下载了ITK4.8.2,提取了它,配置了CMake并一如既往地生成了它。但是,这一次CMake会发出以下错误:
CMake Error at CMakeLists.txt:4 (find_package):
By not providing "FindITK.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "ITK", but
CMake did not find one.
Could not find a package configuration file provided by "ITK" with any of
the following names:
ITKConfig.cmake
itk-config.cmake
Add the installation prefix of "ITK" to CMAKE_PREFIX_PATH or set "ITK_DIR"
to a directory containing one of the above files. If "ITK" provides a
separate development package or SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!CMakeLists.txt文件相当男爵,只是为了确保正确设置cmake/ITK:
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(ITKTest)
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
add_executable(ITKTest main.cpp)
target_link_libraries(ITKTest ${ITK_LIBRARIES})我添加了CMAKE_PREFIX_PATH和ITK_DIR作为附加条目,后者指向ITK文件夹的位置。但问题依然存在。
至于它说找不到的文件,其中一个文件出现在我设置cmake以构建二进制文件的文件夹中。在我的例子中,两个目录中有两个文件:
--E:\ITK\InsightToolkit-4.8.2-build\ITKConfig.cmake
--E:\ITK\InsightToolkit-4.8.2-build\CMakeFiles\ITKConfig.cmake发布于 2016-02-05 10:10:30
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。
发布于 2022-10-21 02:39:02
正如斯特兰奇博士在复仇者无限战争中所说的,这就像“一个简单的咒语,但很难打破”。
这里,cmake没有检测到ITK_DIR,所以您可以手动添加路径,即ITK文件夹。在我的例子中,我的目录路径
除此之外,如果您可能没有正确安装或配置ITK,请通过以下步骤对其进行配置。
一切都应该正常。好运!
发布于 2019-06-23 02:22:21
这些或其他口味对我都没有用,就好像ITK_DIR从未被定义过一样:
cmake -DITK_DIR=C:\Users\user\InsightToolkit-5.0.0_bld C:\Users\user\HelloWorldITK cmake
-DITK_DIR=C:\\Users\\user\\InsightToolkit-5.0.0_bld C:\Users\user\HelloWorldITK cmake
-DITK_DIR=C:/Users/user/InsightToolkit-5.0.0_bld C:\Users\user\HelloWorldITK但是,将其添加到CMakeLists.txt解决了这个问题:
SET(ITK_DIR "C:\\Users\\user\\InsightToolkit-5.0.0_bld")https://stackoverflow.com/questions/35027316
复制相似问题