VTK在用的时候,通常用cmake来管理工程,我在用的时候,经常遇到下面的错误:
Error 12 error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class vtkImageViewer2 * __cdecl vtkImageViewer2::New(void)" (__imp_?New@vtkImageViewer2@@SAPEAV1@XZ) referenced in function "public: static class vtkSmartPointer<class vtkImageViewer2> __cdecl vtkSmartPointer<class vtkImageViewer2>::New(void)" (?New@?$vtkSmartPointer@VvtkImageViewer2@@@@SA?AV1@XZ) C:\Users\zhq\Documents\Visual Studio 2012\Projects\VTK_MFC_SDI\bin\VTK_MFC_SDIView.obj
遇到这种错误的时候,稍微有点经验的人应该知道,是缺少了动态链接库,但是,到底缺少的是哪个呢?
我终于找到了解决方法:
通过观察上面的错误信息,发现是使用vtkImageViewer2的时候,出问题了问题,打开这个头文件
这个类的定义如下:
class VTKINTERACTIONIMAGE_EXPORT vtkImageViewer2 : public vtkObject
于是,再去VTK\bin\lib\Debug下查找VTKINTERACTIONIMAGE这个东西,找到cmake里面去就OK了