某些VTK库文件是否包含错误?

时间:2011-06-15 13:12:31

标签: c++ codeblocks vtk

我设法在我的ubuntu上安装了vtk。我正在使用code :: Blocks作为编译器,在c ++中工作。我还编译并运行了vtk示例网页中给出的一些示例。但是在某些示例中,例如当涉及vtkChart.h时,我的编译器会给出引用文件内容的错误。

这些头文件是自动生成的,不应包含任何错误。您可以查看下面的图片。可能有什么不对?它是由编译器引起的吗?

谢谢大家。

enter image description here

对于那些看不到图片的人,代码如下:

#ifndef __vtkChart_h
#define __vtkChart_h

#include "vtkContextItem.h"

class vtkTransform2D;
class vtkContext2D;
class vtkContextScene;
class vtkPlot;
class vtkAxis;
class vtkTextProperty;

class vtkInteractorStyle;
class vtkAnnotationLink;
class vtkTable;

class VTK_CHARTS_EXPORT vtkChart : public vtkContextItem
{
public:
  vtkTypeMacro(vtkChart, vtkContextItem);
  virtual void PrintSelf(ostream &os, vtkIndent indent);

仅针对显示的代码段,显示以下错误。

../ VTK-build / VTK-5.6 / VTK / Charts / vtkChart.h | 38 |错误:'{'token |

之前的预期类名

../ 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 |错误:从'vtkObjectBase *'类型的static_cast无效到类型'vtkChart *'|

../ VTK-build / VTK-5.6 / VTK / Charts / vtkChart.h ||在成员函数'virtual vtkObjectBase * vtkChart :: NewInstanceInternal()const':|

../ VTK-build / VTK-5.6 / VTK / Charts / vtkChart.h | 40 |错误:'新'不是'vtkChart'的成员|

继续......

1 个答案:

答案 0 :(得分:2)

首先,Code :: Blocks不是编译器,它是使用GCC或MSVC作为编译器的IDE。所以,这应该更加通用于GCC本身(因为你似乎使用的是Ubuntu)。

您的问题看起来像配置错误。 ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|error: ‘vtkContextItem’ does not name a type| 是编译器找不到vtkContextItem.h时发生的错误。是否有任何错误,如“vtkContextItem.h not found”之类的内容?

如果您尚未使用CMake,请尝试使用它来配置项目。一般来说,CMake在设置配置方面会比你自己做得更好。