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

时间:2018-01-20 09:54:39

标签: c++ dll cmake itk

我使用最新的Visual Studio版本(Visual Studio 15 2017 Win64编译器)在Windows 10上成功构建了ITK 4.13(' Release')。然后我尝试使用以下ITKHelloWorld构建CMakeLists.txt示例(如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文件中的内容,但不知道是什么。

任何猜测或解决方案?

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

Edit2:运行VTK示例还会显示因找不到必需的.dll而导致的错误。

1 个答案:

答案 0 :(得分:1)

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

准确地说,你不需要复制所有的dll,你可以通过例如Dependency Walker,真正需要哪些。