尝试注册 ImageIOFactory 时出现 ITK 构建错误

ITK build error when trying to register ImageIOFactory

我正在尝试使用 VS2012(ITK 版本 4.11)link ITK 到 read/write 图像。我已经使用 cmake 构建了 ITK 库;然后安装到安装前缀文件夹中。我在项目的附加包含文件夹中使用了 /include 文件夹,还使用了以下库作为附加依赖项:

itksys-4.11.lib
itkv3p_netlib-4.11.lib
itkvnl_algo-4.11.lib
itkvnl-4.11.lib
ITKCommon-4.11.lib
ITKIOImageBase-4.11.lib
ITKIOVTK-4.11.lib

我可以 运行 'HelloWorld' ITK 示例,但是在尝试注册图像 io 工厂时 (itk::PNGImageIOFactory::RegisterOneFactory());我遇到构建失败并出现以下错误:

LNK2001: unresolved external symbol "protected: __cdecl itk::PNGImageIOFactory::PNGImageIOFactory(void)" (??0PNGImageIOFactory@itk@@IEAA@XZ)

我错过了什么吗?任何帮助将不胜感激。

你不见了itkpng-4.11.lib。每个 reader 都有自己的图书馆。这样做是为了仅链接应用程序所需的库,而不是所有库。

推荐的方法是使用 CMake,这样您的所有依赖项都会自动管理。