我使用最新的Visual Studio版本(Visual Studio 15 2017 Win64编译器)在Windows 10上成功构建了ITK 4.13(作为``发行版'')。然后,我尝试使用以下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的源中,而不位于构建文件夹中。这可能是错误的根源吗?编辑2:运行VTK示例还显示了由于找不到所需的
.dll
而引起的错误。 最佳答案
您的项目没有问题。 Windows只能在运行时使用DLL库,除非它们位于PATH位置。因此,有两种选择:将ITK库的bin/Release
目录添加到Windows的PATH系统变量(包含所有ddls的目录),或仅将所有dll从该目录复制到包含新应用程序的dll。
准确地说,您不需要复制所有dll,可以通过例如Dependency Walker,真正需要哪些。