我是vtk的新手,我想使用vtkCharts库。在Linux和Windows中,我编译了vtk并设法使用大多数示例。
唯一令人烦恼的例子包括图表库,例如链接中的那个:
当我编译时,在Visual Studio中它会产生一些链接错误。细分如下。我没有忘记包含vtkCharts库。
1> vtkCharts.lib(vtkContextView.obj): 错误LNK2019:未解析的外部 符号“protected:virtual __thiscall vtkRenderView ::〜vtkRenderView(无效)” (?? 1vtkRenderView @@ MAE @ XZ)引用 在功能“保护:虚拟 __thiscall vtkContextView ::〜vtkContextView(void)“ (?? 1vtkContextView @@ @ MAE XZ) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2019:未解析的外部 符号“公共:虚拟空虚 __thiscall vtkRenderView :: SetDisplayHoverText(bool)“ (?SetDisplayHoverText @ vtkRenderView @@ UAEX_N @ Z) 在函数中引用“protected: __thiscall vtkContextView :: vtkContextView(void)“ (?? 0vtkContextView @@ @ IAE XZ) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2019:未解析的外部 符号“protected:__ thishisall vtkRenderView :: vtkRenderView(无效)” (?? 0vtkRenderView @@ IAE @XZ)引用 在功能“保护:__这个 vtkContextView :: vtkContextView(无效)” (?? 0vtkContextView @@ @ IAE XZ) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2001:未解析的外部 符号“公共:虚拟空虚 __thiscall vtkView :: Update(void)“(?更新@ vtkView @@ UAEXXZ) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2001:未解析的外部 符号“公共:虚拟空虚 __thiscall vtkRenderView :: ApplyViewTheme(class vtkViewTheme *)“ (?ApplyViewTheme @ vtkRenderView @@ UAEXPAVvtkViewTheme @@@ Z) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2001:未解析的外部 符号“受保护:虚拟空白 __thiscall vtkRenderView :: ProcessEvents(class vtkObject *,unsigned long,void *)“ (?ProcessEvents @ @@ vtkRenderView @@ MAEXPAVvtkObject @ KPAX Z)
在Code :: Blocks中,使用GCC,它会出现如下错误:
./ VTK-构建/ VTK-5.6 / VTK /图表/ vtkChart.h | 38 |错误: 在'{'标记|之前的预期类名 ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|error: 'vtkContextItem'没有命名类型| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|error: 'vtkContextItem'还没有 声明| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|error: 类型无效的static_cast 'vtkObjectBase *'键入'vtkChart *'| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||In 成员函数'虚拟 vtkObjectBase * vtkChart :: NewInstanceInternal() 常量”:| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|error: 'New'不是'vtkChart'|的成员 ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||In 成员函数'虚拟 vtkAnnotationLink * vtkChart :: GetAnnotationLink()”:| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|104|error: 'class vtkChart'没有名字的成员 “GetDebug” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|104|error: 'class vtkChart'没有名字的成员 调用“GetClassName” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|104|error: 'class vtkChart'没有名字的成员 调用“GetClassName” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||In 成员函数'虚拟空虚 vtkChart :: SetGeometry(int,int)':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|108|error: 'class vtkChart'没有名字的成员 “GetDebug” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|108|error: 'class vtkChart'没有名字的成员 调用“GetClassName” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|108|error: 'class vtkChart'没有名字的成员 调用“GetClassName” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|108|error: 'class vtkChart'没有名字的成员 “修改” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||In 成员函数'virtual int * vtkChart :: GetGeometry()”:| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|error: 'class vtkChart'没有名字的成员 “GetDebug” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|error: 'class vtkChart'没有名字的成员 调用“GetClassName” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|error: 'class vtkChart'没有名字的成员 调用“GetClassName” | ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||In 成员函数'虚拟空虚 vtkChart :: GetGeometry(int&,int&)':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|error: 'class vtkChart'没有名字的成员 “GetDebug” |
我在两个平台上都使用vtk 5-6。我想知道可能发生此错误的原因。
谢谢。
答案 0 :(得分:1)
我没有忘记包含vtkCharts库。
然后你可能忘了包含vtkHybrid库。请注意cmake文件中的最后一行。