C++ vtkCharts图书馆没有';既不能使用Visual Studio也不能使用GCC编译器-为什么?

C++ vtkCharts图书馆没有';既不能使用Visual Studio也不能使用GCC编译器-为什么?,c++,visual-c++,visualization,data-visualization,vtk,C++,Visual C++,Visualization,Data Visualization,Vtk,我是vtk的新手,我想使用vtkCharts库。在Linux和Windows中,我编译了vtk,并设法使用了大多数示例 唯一麻烦的例子是那些包括图表库的例子,例如链接中的例子: 当我在VisualStudio中编译时,它会给出一些链接错误。下面是一段。我没有忘记包括vtkCharts图书馆 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2019:未解析的外部 符号“受保护:虚拟”此调用 vtkRenderView::~vtkRenderView(无效)”

我是vtk的新手,我想使用vtkCharts库。在Linux和Windows中,我编译了vtk,并设法使用了大多数示例

唯一麻烦的例子是那些包括图表库的例子,例如链接中的例子:

当我在VisualStudio中编译时,它会给出一些链接错误。下面是一段。我没有忘记包括vtkCharts图书馆

1> vtkCharts.lib(vtkContextView.obj): 错误LNK2019:未解析的外部 符号“受保护:虚拟”此调用 vtkRenderView::~vtkRenderView(无效)” (??1VTK透视图)@@MAE@XZ)参考 功能内“受保护:虚拟” __此调用vtkContextView::~vtkContextView(无效)” (??1vtkContextView@@MAE@XZ) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2019:未解析的外部 符号“公共:虚拟无效” __此调用vtkRenderView::SetDisplayHoverText(bool)” (?SetDisplayHoverText@vtkRenderView@@UAEX_N@Z) 在功能“受保护”中引用: __此调用vtkContextView::vtkContextView(无效)” (??0vtkContextView@@IAE@XZ) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2019:未解析的外部 符号“受保护:\此调用 vtkRenderView::vtkRenderView(无效)” (??0VTK透视图)@@IAE@XZ)参考 在函数“protected:\u\u thiscall”中 vtkContextView::vtkContextView(无效)” (??0vtkContextView@@IAE@XZ) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2001:未解析的外部 符号“公共:虚拟无效” __此调用vtkView::Update(void)“(?)?Update@vtkView@@UAEXXZ) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2001:未解析的外部 符号“公共:虚拟无效” __此调用vtkRenderView::ApplyViewTheme(类 vtkViewTheme*)” (?ApplyViewTheme@vtkRenderView@@uaexpavtkviewtheme@@@Z) 1> vtkCharts.lib(vtkContextView.obj): 错误LNK2001:未解析的外部 符号“受保护:虚拟无效” __此调用vtkRenderView::ProcessEvents(类 vtkObject*,无符号长,无效*) (?ProcessEvents@vtkRenderView@@MAEXPAVvtkObject@@KPAX@Z)

在Code::Blocks中,使用GCC时会出现如下错误:

/VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 38 |错误: “{”标记之前应为类名| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 40 |错误: “vtkContextItem”未命名类型| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 40 |错误: “vtkContextItem”未被删除 宣布| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 40 |错误: 无效的静态\u类型转换 “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 |错误: “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 |错误: “类vtkChart”没有名为 “GetDebug”| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 104 |错误: “类vtkChart”没有名为 “GetClassName”| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 104 |错误: “类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 |错误: “类vtkChart”没有名为 “GetDebug”| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 108 |错误: “类vtkChart”没有名为 “GetClassName”| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 108 |错误: “类vtkChart”没有名为 “GetClassName”| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 108 |错误: “类vtkChart”没有名为 “修改”| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | In 成员函数的虚int* vtkChart::GetGeometry()':| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 109 |错误: “类vtkChart”没有名为 “GetDebug”| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 109 |错误: “类vtkChart”没有名为 “GetClassName”| ../VTK build/VTK-5.6/VTK/Charts/vtkChart.h | 109 |错误: “类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 |错误: “类vtkChart”没有名为 “GetDebug”|

我在这两种平台上都使用VTK5-6。我想知道为什么会出现这种错误

多谢各位

我没有忘记包括vtkCharts图书馆

那么您可能忘了包含vtkHybrid库

我没有忘记包括vtkCharts图书馆


然后你可能忘了包括vtkHybrid库。请注意cmake文件中的最后一行。

没有。但是我注意到我没有用示例构建vtk。图表库是否完全只有示例?我不知道这意味着什么。没有,它也包括在内。但我注意到我没有用示例构建vtk。Doe“图表库完全只有示例吗?我不知道这意味着什么。”。