vtk camke 都用的最新版本。使用vs2005配置了一遍,结果编译vtk.sln的时候,有四个没编译通过,win32SimpleMFC vtkMDI vtkDLG 还有vtkSDI知道是因为什么吗?
61>SampleDoc.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class vtkDataSetReader * __cdecl vtkDataSetReader::New(void)" (__imp_?New@vtkDataSetReader@@SAPAV1@XZ),该符号在函数 "protected: __thiscall CSampleDoc::CSampleDoc(void)" (??0CSampleDoc@@IAE@XZ) 中被引用
61>SampleDoc.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class vtkDataSet * __thiscall vtkDataSetReader::GetOutput(void)" (__imp_?GetOutput@vtkDataSetReader@@QAEPAVvtkDataSet@@XZ),该符号在函数 "public: virtual int __thiscall CSampleDoc::OnOpenDocument(char const *)" (?OnOpenDocument@CSampleDoc@@UAEHPBD@Z) 中被引用
61>C:\Program Files\VTK 5.6\bin\bin\Debug\Win32SampleMFC.exe : fatal error LNK1120: 2 个无法解析的外部命令
63>LINK : warning LNK4199: 已忽略 /DELAYLOAD:vtkIO.dll;未找到来自 vtkIO.dll 的导入
63>vtkMDIDoc.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class vtkDataSetReader * __cdecl vtkDataSetReader::New(void)" (__imp_?New@vtkDataSetReader@@SAPAV1@XZ),该符号在函数 "public: virtual int __thiscall CvtkMDIDoc::OnOpenDocument(char const *)" (?OnOpenDocument@CvtkMDIDoc@@UAEHPBD@Z) 中被引用
63>vtkMDIView.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class vtkDataSet * __thiscall vtkDataSetReader::GetOutput(void)" (__imp_?GetOutput@vtkDataSetReader@@QAEPAVvtkDataSet@@XZ),该符号在函数 "private: void __thiscall CvtkMDIView::ExecutePipeline(void)" (?ExecutePipeline@CvtkMDIView@@AAEXXZ) 中被引用
63>C:\Program Files\VTK 5.6\bin\bin\Debug\vtkMDI.exe : fatal error LNK1120: 2 个无法解析的外部命令68>vtkDLGDlg.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class vtkDataSet * __thiscall vtkDataSetReader::GetOutput(void)" (__imp_?GetOutput@vtkDataSetReader@@QAEPAVvtkDataSet@@XZ),该符号在函数 "private: void __thiscall CvtkDLGDlg::ExecutePipeline(void)" (?ExecutePipeline@CvtkDLGDlg@@AAEXXZ) 中被引用
68>vtkDLGDlg.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class vtkDataSetReader * __cdecl vtkDataSetReader::New(void)" (__imp_?New@vtkDataSetReader@@SAPAV1@XZ),该符号在函数 "public: void __thiscall CvtkDLGDlg::OnBtnLoadFile(void)" (?OnBtnLoadFile@CvtkDLGDlg@@QAEXXZ) 中被引用
68>C:\Program Files\VTK 5.6\bin\bin\Debug\vtkDLG.exe : fatal error LNK1120: 2 个无法解析的外部命令
70>vtkSDIDoc.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class vtkDataSetReader * __cdecl vtkDataSetReader::New(void)" (__imp_?New@vtkDataSetReader@@SAPAV1@XZ),该符号在函数 "public: virtual int __thiscall CvtkSDIDoc::OnOpenDocument(char const *)" (?OnOpenDocument@CvtkSDIDoc@@UAEHPBD@Z) 中被引用
70>vtkSDIDoc.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class vtkDataSet * __thiscall vtkDataSetReader::GetOutput(void)" (__imp_?GetOutput@vtkDataSetReader@@QAEPAVvtkDataSet@@XZ),该符号在函数 "private: void __thiscall CvtkSDIDoc::ExecutePipeline(void)" (?ExecutePipeline@CvtkSDIDoc@@AAEXXZ) 中被引用
70>C:\Program Files\VTK 5.6\bin\bin\Debug\vtkSDI.exe : fatal error LNK1120: 2 个无法解析的外部命令

解决方案 »

  1.   

    解决方法:缺少相应的.lib类库,在项目--属性--链接器(link)--输入(input)附加依赖项中,把全部的VTK的.lib类库都加入。
    $(NOINHERIT) kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib uuid.lib ole32.lib oleaut32.lib comdlg32.lib advapi32.lib vtkMFC.lib vtkRendering.lib vtkGraphics.lib vtkverdict.lib vtkImaging.lib vtkIO.lib vtkFiltering.lib vtkCommon.lib vtkDICOMParser.lib vtkNetCDF.lib vtkmetaio.lib comctl32.lib wsock32.lib vtksqlite.lib vtkpng.lib vtktiff.lib vtkzlib.lib vtkjpeg.lib vtkexpat.lib vtksys.lib ws2_32.lib vfw32.lib vtkftgl.lib vtkfreetype.lib opengl32.lib vtkWidgets.lib vtkVolumeRendering.lib vtkViews.lib vtkproj4.lib vtklibxml2.lib vtkInfovis.lib vtkHybrid.lib vtkGeovis.lib vtkGenericFiltering.lib vtkexoIIc.lib vtkCharts.lib vtkalglib.lib 
      

  2.   

    楼主解决了吗?我也遇到了这个问题,和楼主的一模一样,我用的都是最新版本,vs是vs2008,编译有四个没通过,和楼主一样!
      

  3.   

    我也遇到了一样的问题,现在解决了。方法很简单也很费解:在这四个链接错误的工程上,右键属性,在link——Input——Additional dependencies里,加上vtkIO.ilb,就OK了。记得添加路径要正确
      

  4.   

     comctl32, wsock32, ws2_32, vfw32, opengl32, wbemuuid