vtk未解析的外部符号vtkdatasetreader

时间:2013-01-09 12:46:17

标签: windows visual-studio-2008 x86 windows-xp vtk

我已经在很长一段时间内遇到了与MFC相关的问题。我已经阅读了许多论坛,VTK-Users帖子等,没有任何运气。

我的基本问题是 vtkMFC.lib 未构建;无论我如何构建我的项目或配置它。

这些是我遵循的步骤:

  1. 使用CMake 2.8.9生成 VTK.sln ,其中VTK_USE_GUISUPPORT,BUILD_SHARED_LIBS,VTK_USE_MFC,BUILD_EXAMPLES已打开且VTK_USE_VIDEO_FOR_WINDOWS已关闭。
  2. 在VS-2008上打开VTK.sln并仅构建 vtkMFC.sln
  3. 构建整个解决方案。 {我也试过点2和3互换而没有结果}
  4. 有6个错误;其中3与 vtkMFC.lib 不存在的事实有关(显然是这些例子)。其余的是关于一些已解决的外部符号,
  5. 错误LNK2019:未解析的外部符号" __ declspec(dllimport)public:static class vtkDataSetReader * _ cdecl vtkDataSetReader :: New(void)"函数"中引用的( _imp_?New @ vtkDataSetReader @@ SAPAV1 @XZ):protected:__ thiscall CSampleDoc :: CSampleDoc(void)" SampleDoc.obj中的(?? 0CSampleDoc @@ IAE @ XZ)

    错误LNK2019:未解析的外部符号" __ declspec(dllimport)public:class vtkDataSet * _ thiscall vtkDataSetReader :: GetOutput(void)"函数" public:virtual int __thiscall CSampleDoc :: OnOpenDocument(char const *)"( _imp_?GetOutput @ vtkDataSetReader @@ QAEPAVvtkDataSet @@ XZ) SampleDoc.obj中的??OnOpenDocument @ CSampleDoc @@ UAEHPBD @ Z

    vtkMFC 解决方案的Debug / bin中生成的文件是vtkMFC。 dll ,vtkMFC。 idb ,vtkMFC。 ilk < / strong>,vtkMFC。 pdb

    我还将 vtkIO.lib 添加到生成错误的项目中,并且相同的错误继续与另一个错误相同,表示找不到vtkIO.lib。

    非常感谢这方面的任何帮助。

    最佳, Sarthak

1 个答案:

答案 0 :(得分:0)

截至2013年2月的答案:

事实证明, VTK 5.10.1 存在一些问题。使用 5.8.0 解决了这个问题。

从CMake构建VTK时要记住的一些事项:

如果选择BUILD_SHARED_LIBS(即,您希望生成DLL),请确保所有标志都设置为/MD。如果未选择BUILD_SHARED_LIBS(即,您不希望生成DLL并通过静态库链接),请确保所有标志都设置为/MT