Alcuni file della libreria VTK contengono errori?
-
28-10-2019 - |
Domanda
Sono riuscito a installare VTK sul mio Ubuntu. Sto usando Code :: Blocks come compilatore, lavorando in C ++. Ho anche compilato ed eseguito alcuni degli esempi indicati nella pagina Web Esempi VTK. Ma in alcuni esempi, ad esempio quando è coinvolto vtkchart.h, il mio compilatore fornisce errori che si riferiscono al contenuto del file.
Questi file di intestazione vengono generati automaticamente e non devono contenere errori. Puoi controllare l'immagine qui sotto. Cosa potrebbe essere sbagliato? È causato dal compilatore?
Grazie tutto.
Per coloro che non riescono a vedere l'immagine, il codice è riportato di seguito:
#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);
Solo per il segmento di codice mostrato, vengono visualizzati gli errori di seguito.
../Vtk-build/vtk-5.6/vtk/charts/vtkchart.h|38|error: name di classe previsto prima di '{' token |
../Vtk-build/vtk-5.6/vtk/charts/vtkchart.h|40|error: 'vtkcontextitem' non nomina un tipo |
../Vtk-build/vtk-5.6/vtk/charts/vtkchart.h|40|error: 'vtkcontextitem' non è stato dichiarato |
../Vtk-build/vtk-5.6/vtk/charts/vtkchart.h|40|error: non valido static_cast da tipo 'vtkobjectbase*' per digitare 'vtkchart*' | |
../Vtk-build/vtk-5.6/vtk/charts/vtkchart.h||in funzione membro 'virtuale vtkobjectbase* vtkchart :: newinstanceinternal () const': |
../Vtk-build/vtk-5.6/vtk/charts/vtkchart.h|40|error: 'new' non è un membro di 'vtkchart' |
e va avanti ..
Soluzione
Innanzitutto, Code :: Blocks non è un compilatore, è un IDE che utilizza GCC o MSVC come compilatore. Quindi, questo dovrebbe essere più generico allo stesso GCC (poiché sembri usare Ubuntu).
Il tuo problema sembra un errore di configurazione. ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|error: ‘vtkContextItem’ does not name a type|
è il tipo di errore che si verifica quando il compilatore non è riuscito a trovare vtkcontextem.h. Ci sono stati errori sopra che dicevano qualcosa come "vtkcontextitem.h non trovato"?
Prova a usare Cmake per configurare il tuo progetto se non lo stai già facendo. Generalmente Cmake farà un lavoro migliore nell'impostazione della configurazione di quanto potresti da solo.