ITK:在执行 HelloWorld 示例时找不到 ITKCommon-x.xx.dll

ITK: Can't find ITKCommon-x.xx.dll when executing HelloWorld Example

本文关键字:找不到 ITKCommon-x xx dll 执行 HelloWorld ITK      更新时间:2023-10-16

我成功地在Windows 10上构建了ITK 4.13(作为"发布"(,具有最新的Visual Studio版本(Visual Studio 15 2017 Win64编译器(。然后,我尝试使用以下CMakeLists.txt构建ITKHelloWorld示例(如 ITK 的示例所示(:

#CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(HelloWorld)
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
add_executable(HelloWorld HelloWorld.cxx)
target_link_libraries(HelloWorld ${ITK_LIBRARIES})

构建运行时没有错误或警告。运行生成的HelloWorld.exe文件会导致ITKCommon-4.13.dll not found错误。

ITKCommon-4.13.dll是由ITK构建的,因此,我认为我必须更改CMakeList文件中的某些内容,但不知道是什么。

任何猜测或解决方案?

编辑:CMakeLists中的include(${ITK_USE_FILE})表达式搜索UseITK.cmake,但此文件位于ITK的源中,而不是在构建文件夹中。这可能是错误的根源吗?

编辑2:运行VTK示例还显示了由于未找到所需的.dll而导致的错误。

你的项目没有问题。仅当 dll 库位于 PATH 位置时,Windows 才能在运行时使用 dll 库。因此,有两种选择:要么将 ITK 库的目录bin/Release添加到 Windows 的 PATH 系统变量(包含所有 ddls 的目录(,要么只是将所有 dll 从该目录复制到包含新应用程序的目录。

确切地说,您不需要复制所有dll,您可以通过例如Dependency Walker来检查哪些是真正需要的。