使用 QT+VTK+ITK 构建项目时出现 FDFImageIO 错误

Posted

技术标签:

【中文标题】使用 QT+VTK+ITK 构建项目时出现 FDFImageIO 错误【英文标题】:FDFImageIO error when build project with QT+VTK+ITK 【发布时间】:2014-11-19 13:47:41 【问题描述】:

我正在使用 Qt4.8.4+vtk5.10+itk4.6 构建一个项目。当我遇到一个从未发生过的问题时。

首先,它显示: 链接错误:无法打开“4.lib”。 但我从未听说过“4.lib”,我认为它没用。所以我在链接器中删除它。

然后: 我收到 30 条错误消息: error LNK2001: unresolved external symbol "void __cdecl itk::FDFImageIOFactoryRegister__Private(void)" (?FDFImageIOFactoryRegister__Private@itk@@YAXXZ) D:\Workplace\NeuroLab\build\moc_WidgetThreeDMesh.obj....

我在文件系统中搜索,但无法使用 FDFImageXXXX 找到任何地方。我编译了两次 ITK 并尝试启用/禁用 Module_FDFImageIO,但它仍然不起作用。

那么,有人遇到同样的错误吗?

【问题讨论】:

只是一个猜测,但也许你应该问的问题是“为什么它试图包含 4.lib 以及我在哪里可以找到它”而不是“我删除了一个我不理解的依赖项并且现在它不起作用” ITK 的夜间仪表板报告了同样的错误:open.cdash.org/viewBuildError.php?buildid=3585458 这个错误应该报告给 ITK 社区和远程 FDFImageIO 模块的作者。 【参考方案1】:

我终于找到了错误。我发现我下载的源文件有一些错误。因为我重新下载了VTK+ITK的源代码,重新编译了。没有错误报告。

但是这里有一个错误。当你查看vs20xx中的lib列表时,你会发现一个奇怪的4.lib。当您将 GDCM 模块集成到 ITK 中时,可能会报告该错误。您唯一应该做的就是将带有完整文件路径的 GDCM 库添加到您的程序中。

【讨论】:

以上是关于使用 QT+VTK+ITK 构建项目时出现 FDFImageIO 错误的主要内容,如果未能解决你的问题,请参考以下文章

关于在vs2010中编译Qt项目时出现“无法解析的外部命令”的错误

使用图形函数时出现分段错误(vtk 6.1、Qt5.3、Ubuntu)

vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录

vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录

vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录

十ITK读取一张dcm图像然后通过vtk显示