目录
一 开发环境
(1)ITK-5.0.0
(2)VTK-8.2.0
(3)Visual Studio 2017
二 ITK错误整理
2.1
(1)问题:
ITK读写PNG、BMP、JPG等格式的图像失败。抛出异常如下:
“Could not create IO object for writing file xxx.png
There are no registered IO factories.”。
(2)解决方案:
若ITK读写png、bmp、jpg图像失败,则添加以下头文件:
#include <itkPNGImageIOFactory.h>
// #include <itkMetaImageIOFactory.h>
在读写前使用:
itk::ObjectFactoryBase::RegisterFactory(itk::PNGImageIOFactory::New());
注册。
2.2
(1)问题:
error LNK2019: 无法解析的外部符号 gethostname
error LNK2019: 无法解析的外部符号 WSAStartup
error LNK2019: 无法解析的外部符号 WSACleanup
(2)解决方案:
#pragma comment(lib, "WS2_32.lib")
2.3
(1)问题:
error LNK2019: 无法解析的外部符号 __imp_UuidCreate。
(2)解决方案:
#pragma comment(lib, "RpcRT4.lib")
2.4
(1)问题:
error LNK2019: 无法解析的外部符号 GetProcessMemoryInfo。
(2)解决方案:
#pragma comment(lib,"Psapi.lib")
三 VTK错误整理
3.1
(1)问题:OpenGL问题,提示找不到“gl”相关的函数
(2)解决方法:
#pragma comment(lib, "OpenGL32.lib")
#pragma comment(lib, "GLU32.lib")
3.2
(1)问题:程序崩溃,提示Error: no override found for 'vtkImageSliceMapper'。
具体崩溃代码段:
vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New();
或者:
vtkSmartPointer<vtkImageViewer> imageViewer = vtkSmartPointer<vtkImageViewer>::New();
(2)解决方法:
添加
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
3.3
- 问题:
error LNK2019: 无法解析的外部符号 __imp_SymGetLineFromAddr64
error LNK2019: 无法解析的外部符号 __imp_SymInitialize
error LNK2019: 无法解析的外部符号 __imp_SymFromAddr
- 解决方案:
#pragma comment(lib, "DbgHelp.lib")