Есть ли в некоторых файлах библиотеки VTK ошибки? - PullRequest
0 голосов
/ 15 июня 2011

Мне удалось установить vtk на мою Ubuntu. Я использую 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 | ошибка: ожидаемое имя класса перед токеном ‘{’ |

.. / 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 | ошибка: недопустимый static_cast из типа «vtkObjectBase *» для типа «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 Ответ

2 голосов
/ 18 июня 2011

Во-первых, Code :: Blocks не является компилятором, это IDE, которая использует GCC или MSVC в качестве компилятора.Таким образом, это должно быть более общим для самого 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 лучше справляется с настройкой конфигурации, чем вы сами.

...