我尝试使用CMake和ITK从here编译一些代码,但我遇到了错误。
在CMake中,我选择/ utilities / ITKImageSeriesToVolume中的源文件夹和/ utilities / ITKImageSeriesToVolume / build中的build文件夹。然而,这给了我一个错误:
CMake Error at D:/Apps/InsightToolkit/ITK/ITKConfig.cmake:48 (include):
include could not find load file:
D:/Apps/InsightToolkit/Build/ITKTargets.cmake
Call Stack (most recent call first):
CMakeLists.txt:42 (find_package)
CMake Error at D:/Apps/InsightToolkit/Source/CMake/ITKModuleAPI.cmake:56 (message):
No such module: "ITKDoubleConversion"
Call Stack (most recent call first):
D:/Apps/InsightToolkit/Source/CMake/ITKModuleAPI.cmake:26 (itk_module_load)
D:/Apps/InsightToolkit/Source/CMake/ITKModuleAPI.cmake:84 (_itk_module_config_recurse)
D:/Apps/InsightToolkit/ITK/ITKConfig.cmake:68 (itk_module_config)
CMakeLists.txt:42 (find_package)
我试图设置一个CMAKE_PREFIX_PATH环境变量,该变量指向包含ITKConfig.cmake的ITK的根文件夹,但是会得到相同的错误。
希望有人可以提前帮助,谢谢。
编辑:将ITK_DIR设置为根ITK文件夹后,我得到:
Arrays.equals(char[], char[])
答案 0 :(得分:0)
它有一个简单的修复,如ERROR中所述 "添加" ITK"的安装前缀到CMAKE_PREFIX_PATH或设置" ITK_DIR" 到包含上述文件之一的目录。如果" ITK"提供了一个 单独的开发包或SDK,确保它已经安装。"
确保您的CMAKE_PREFIX_PATH和ITK指向您的ITK构建目录。这假设你已经使用Cmake建立了ITK至少一次。
步骤 1)创建ITK源文件夹。
2)创建ITK构建文件夹。
3)运行CMake并选择source和build文件夹。
4)选择相应的编译器,如果有任何编译器问题,请参阅此讨论。
5)配置并生成cmake。
6)使用相应的IDE打开构建文件夹中的构建文件(如果使用visual studio编译器,则使用.sln文件)。
7)在visual studio上构建一次。
8)现在,您的新项目使用相同的步骤,并将CMAKE_PREFIX_PATH和ITK指向您的ITK构建目录。
一切都应该有效。 祝你好运!!!
答案 1 :(得分:-1)
您的ITK构建似乎部分被打破。你能尝试重建吗?如果这没有帮助,请查看ITK_USE_SYSTEM_DOUBLECONVERSION
是否为ON。这意味着不要构建ITK附带的 DoubleConversion 库,而是使用已经存在于系统中的库。如果它不存在,则表示您有问题。
此外,除非ITK_BUILD_DEFAULT_MODULES
为ON,否则您必须专门打开要编译的每个模块或模块组。在这种情况下,请打开ITKDoubleConversion
以及该代码所需的任何其他模块。