ITK:在执行 HelloWorld 示例时找不到 ITKCommon-x.xx.dll
ITK: Can't find ITKCommon-x.xx.dll when executing HelloWorld Example
我成功地在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来检查哪些是真正需要的。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 找不到QtResource文件中的文件
- VC++本机单元测试,找不到调试符号
- RegGetValue在当前用户下找不到名称
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- c++找不到具有相同哈希的无序集合元素
- 找不到以下加速库:boost_fiber
- 找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
- 设置 Visual Studio for MPI: 找不到标识符错误
- "assimp/config.h"找不到,但它在文件夹中
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- C++系统找不到指定的文件错误
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- vcpkg 添加新库,但找不到
- Qt 5.11.2 (Clang 8.0 (Apple), 64 位), 找不到 QJSEngine 文件
- ITK:在执行 HelloWorld 示例时找不到 ITKCommon-x.xx.dll