-2

ubuntuにvtkをインストールできました。私は code::Blocks をコンパイラとして使用し、c++ で作業しています。また、vtk の例の Web ページにあるいくつかの例をコンパイルして実行しました。しかし、vtkChart.h が関係している場合など、いくつかの例では、私のコンパイラはファイルの内容を参照するエラーを出します。

これらのヘッダー ファイルは自動的に生成され、エラーは含まれません。下の画像で確認できます。何が間違っている可能性がありますか?コンパイラが原因ですか?

ありがとうございました。

ここに画像の説明を入力

画像が見えない人のために、コードを以下に示します。

#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|エラー: '{' トークンの前にクラス名が必要です |

../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*' からタイプ 'vtkChart*' への無効な static_cast |

../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内 'virtual vtkObjectBase* vtkChart::NewInstanceInternal() const':|

../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー: 'New' は 'vtkChart' のメンバーではありません |

そして続く..

4

1 に答える 1

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が見つかりません」のようなエラーが上記にありましたか?

まだ行っていない場合は、CMakeを使用してプロジェクトを構成してみてください。一般的に、CMakeは、自分で設定するよりも優れた設定を行います。

于 2011-06-18T15:12:50.720 に答える