首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ITK:找不到ITKConfig.cmake

ITK:找不到ITKConfig.cmake
EN

Stack Overflow用户
提问于 2016-01-27 01:35:26
回答 3查看 7.2K关注 0票数 5

我一直在尝试在一台新的PC上安装ITK,当我在一个项目上运行CMake时遇到了一个问题。

我下载了ITK4.8.2,提取了它,配置了CMake并一如既往地生成了它。但是,这一次CMake会发出以下错误:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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_PATHITK_DIR作为附加条目,后者指向ITK文件夹的位置。但问题依然存在。

至于它说找不到的文件,其中一个文件出现在我设置cmake以构建二进制文件的文件夹中。在我的例子中,两个目录中有两个文件:

代码语言:javascript
复制
--E:\ITK\InsightToolkit-4.8.2-build\ITKConfig.cmake
--E:\ITK\InsightToolkit-4.8.2-build\CMakeFiles\ITKConfig.cmake
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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.cmakeCMAKE_PREFIX_PATH

票数 4
EN

Stack Overflow用户

发布于 2022-10-21 02:39:02

正如斯特兰奇博士在复仇者无限战争中所说的,这就像“一个简单的咒语,但很难打破”。

这里,cmake没有检测到ITK_DIR,所以您可以手动添加路径,即ITK文件夹。在我的例子中,我的目录路径

除此之外,如果您可能没有正确安装或配置ITK,请通过以下步骤对其进行配置。

  1. 创建ITK源文件夹。
  2. 创建ITK构建文件夹。
  3. 运行CMake并选择“源”和“生成”文件夹。
  4. 选择各自的编译器,如果有任何编译器问题,请参考本讨论。
  5. 配置和生成cmake。
  6. 使用各自的IDE打开生成文件夹中的生成文件(如果使用visual编译器,请使用.sln文件)。
  7. 构建所有一次的视觉工作室。
  8. 现在,对于您的新项目,请使用相同的步骤,并将CMAKE_PREFIX_PATH和ITK指向您的ITK。

一切都应该正常。好运!

票数 1
EN

Stack Overflow用户

发布于 2019-06-23 02:22:21

这些或其他口味对我都没有用,就好像ITK_DIR从未被定义过一样:

代码语言:javascript
复制
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解决了这个问题:

代码语言:javascript
复制
SET(ITK_DIR "C:\\Users\\user\\InsightToolkit-5.0.0_bld")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35027316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档