[vtkusers] cmake error: no qvtkwidget.h is found

Michael Jackson mike.jackson at bluequartz.net
Mon Mar 30 11:06:40 EDT 2009


You are probably missing the include directory where qvtkwidget.h is  
found.

Do "make VERBOSE=1" and make sure /usr/include/vtk is present in the  
compile command. Should be something like

-I/usr/include/vtk

HTH
_________________________________________________________
Mike Jackson                  mike.jackson at bluequartz.net
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio



On Mar 30, 2009, at 10:30 AM, Yifei Li wrote:

> Hi,
>
> I'm still in the processing of learning cmake. Now I'm tring to  
> compile a very simple Qt/VTK program where a QVTKWidget is the only  
> widget in a QMainWindow. However, after typing make,
> I got the following errors. (I did install 'vtk- 
> qt-5.0.4-21.fc9.i386' and QVTKWidget.h is in /usr/include/vtk)
>
> In file included from mainwindow/editorwindow.h:2,
> from mainwindow/main.cpp:1:
> mainwindow/ui_editor.h:23:24: error: qvtkwidget.h: No such file or  
> directory
> In file included from mainwindow/editorwindow.h:2,
> from mainwindow/main.cpp:1:
> mainwindow/ui_editor.h:31: error: ISO C++ forbids declaration of  
> ‘QVTKWidget’ with no type
> mainwindow/ui_editor.h:31: error: expected ‘;’ before ‘*’ token
> mainwindow/ui_editor.h: In member function ‘void  
> Ui_MainWindow::setupUi(QMainWindow*)’:
> mainwindow/ui_editor.h:50: error: ‘vtkwidget’ was not declared in  
> this scope
> mainwindow/ui_editor.h:50: error: expected type-specifier before  
> ‘QVTKWidget’
> mainwindow/ui_editor.h:50: error: expected `;' before ‘QVTKWidget’
>
> I attached the CMakeLists.txt and my source code. Could anyone give  
> me some help? Thanks
>
> Yifei
>
> / 
> ********************************************************************************
> ** Form generated from reading ui file 'editor.ui'
> **
> ** Created: Mon Mar 30 09:56:52 2009
> **      by: Qt User Interface Compiler version 4.3.5
> **
> ** WARNING! All changes made in this file will be lost when  
> recompiling ui file!
> ********************************************************************************/
>
> #ifndef UI_EDITOR_H
> #define UI_EDITOR_H
>
> #include <QtCore/QVariant>
> #include <QtGui/QAction>
> #include <QtGui/QApplication>
> #include <QtGui/QButtonGroup>
> #include <QtGui/QMainWindow>
> #include <QtGui/QMenu>
> #include <QtGui/QMenuBar>
> #include <QtGui/QStatusBar>
> #include <QtGui/QVBoxLayout>
> #include <QtGui/QWidget>
> #include <qvtkwidget.h>
>
> class Ui_MainWindow
> {
> public:
>    QWidget *centralwidget;
>    QWidget *verticalLayoutWidget;
>    QVBoxLayout *vboxLayout;
>    QVTKWidget *vtkwidget;
>    QMenuBar *menubar;
>    QMenu *menuFile;
>    QStatusBar *statusbar;
>
>    void setupUi(QMainWindow *MainWindow)
>    {
>    if (MainWindow->objectName().isEmpty())
>        MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
>    MainWindow->resize(800, 600);
>    centralwidget = new QWidget(MainWindow);
>    centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
>    centralwidget->setGeometry(QRect(0, 21, 800, 560));
>    verticalLayoutWidget = new QWidget(centralwidget);
>    verticalLayoutWidget- 
> >setObjectName(QString::fromUtf8("verticalLayoutWidget"));
>    verticalLayoutWidget->setGeometry(QRect(0, 0, 791, 551));
>    vboxLayout = new QVBoxLayout(verticalLayoutWidget);
>    vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
>    vboxLayout->setContentsMargins(0, 0, 0, 0);
>    vtkwidget = new QVTKWidget(verticalLayoutWidget);
>    vtkwidget->setObjectName(QString::fromUtf8("vtkwidget"));
>
>    vboxLayout->addWidget(vtkwidget);
>
>    MainWindow->setCentralWidget(centralwidget);
>    menubar = new QMenuBar(MainWindow);
>    menubar->setObjectName(QString::fromUtf8("menubar"));
>    menubar->setGeometry(QRect(0, 0, 800, 21));
>    menuFile = new QMenu(menubar);
>    menuFile->setObjectName(QString::fromUtf8("menuFile"));
>    MainWindow->setMenuBar(menubar);
>    statusbar = new QStatusBar(MainWindow);
>    statusbar->setObjectName(QString::fromUtf8("statusbar"));
>    statusbar->setGeometry(QRect(0, 581, 800, 19));
>    MainWindow->setStatusBar(statusbar);
>
>    menubar->addAction(menuFile->menuAction());
>
>    retranslateUi(MainWindow);
>
>    QMetaObject::connectSlotsByName(MainWindow);
>    } // setupUi
>
>    void retranslateUi(QMainWindow *MainWindow)
>    {
>    MainWindow->setWindowTitle(QApplication::translate("MainWindow",  
> "MainWindow", 0, QApplication::UnicodeUTF8));
>    menuFile->setTitle(QApplication::translate("MainWindow", "File",  
> 0, QApplication::UnicodeUTF8));
>    } // retranslateUi
>
> };
>
> namespace Ui {
>    class MainWindow: public Ui_MainWindow {};
> } // namespace Ui
>
> #endif // UI_EDITOR_H
>  # set project's name
>  PROJECT( editor )
>
>  # with SET() command you can change variables or define new ones
>  # here we define SAMPLE_SRCS variable that contains a list of  
> all .cpp files
>  # note that we don't need \ at the end of line
>  SET( SAMPLE_SRCS
> 	main.cpp
> 	editorwindow.cpp
>  )
>
>  # another list, this time it includes all header files that should  
> be treated
>  # with moc
>  SET( SAMPLE_MOC_HDRS
> 	editorwindow.h
>  )
>
>  # some .ui files
>  SET( SAMPLE_UIS
> 	editor.ui
>  )
>
>
>  # this command finds Qt4 libraries and sets all required variables
>  # note that it's Qt4, not QT4 or qt4
>  FIND_PACKAGE( Qt4 REQUIRED )
>  FIND_PACKAGE( VTK )
>
>  # add some useful macros and variables
>  # (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that  
> contains a
>  # path to CMake script)
>  INCLUDE( ${QT_USE_FILE} )
>  INCLUDE( ${VTK_USE_FILE} )
>
>  # this will run uic on .ui files:
>  QT4_WRAP_UI( SAMPLE_UI_HDRS ${SAMPLE_UIS} )
>
>  # and finally this will run moc:
>  QT4_WRAP_CPP( SAMPLE_MOC_SRCS ${SAMPLE_MOC_HDRS} )
>
>  # we need this to be able to include headers produced by uic in our  
> code
>  # (CMAKE_BINARY_DIR holds a path to the build directory, while
>  # INCLUDE_DIRECTORIES() works just like INCLUDEPATH from qmake)
>  INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${CMAKE_BINARY_DIR} )
>
>  # here we instruct CMake to build "sample" executable from all of  
> the source
>  # files
>  ADD_EXECUTABLE( editor ${SAMPLE_SRCS} ${SAMPLE_MOC_SRCS} $ 
> {SAMPLE_UI_HDRS} )
>
>  # last thing we have to do is to tell CMake what libraries our  
> executable
>  # needs,
>  # luckily FIND_PACKAGE prepared QT_LIBRARIES variable for us:
>  TARGET_LINK_LIBRARIES( editor QVTK ${QT_LIBRARIES} )
>
> <ui version="4.0" >
> <class>MainWindow</class>
> <widget class="QMainWindow" name="MainWindow" >
>  <property name="geometry" >
>   <rect>
>    <x>0</x>
>    <y>0</y>
>    <width>800</width>
>    <height>600</height>
>   </rect>
>  </property>
>  <property name="windowTitle" >
>   <string>MainWindow</string>
>  </property>
>  <widget class="QWidget" name="centralwidget" >
>   <property name="geometry" >
>    <rect>
>     <x>0</x>
>     <y>21</y>
>     <width>800</width>
>     <height>560</height>
>    </rect>
>   </property>
>   <widget class="QWidget" name="verticalLayoutWidget" >
>    <property name="geometry" >
>     <rect>
>      <x>0</x>
>      <y>0</y>
>      <width>791</width>
>      <height>551</height>
>     </rect>
>    </property>
>    <layout class="QVBoxLayout" name="verticalLayout" >
>     <item>
>      <widget class="QVTKWidget" name="vtkwidget" />
>     </item>
>    </layout>
>   </widget>
>  </widget>
>  <widget class="QMenuBar" name="menubar" >
>   <property name="geometry" >
>    <rect>
>     <x>0</x>
>     <y>0</y>
>     <width>800</width>
>     <height>21</height>
>    </rect>
>   </property>
>   <widget class="QMenu" name="menuFile" >
>    <property name="title" >
>     <string>File</string>
>    </property>
>   </widget>
>   <addaction name="menuFile" />
>  </widget>
>  <widget class="QStatusBar" name="statusbar" >
>   <property name="geometry" >
>    <rect>
>     <x>0</x>
>     <y>581</y>
>     <width>800</width>
>     <height>19</height>
>    </rect>
>   </property>
>  </widget>
> </widget>
> <resources/>
> <connections/>
> </ui>
> #include "editorwindow.h"
>
> EditorWindow::EditorWindow(QWidget * parent)
> 	: QMainWindow(parent)
> {
> 	ui.setupUi(this);
> }
> #include <QMainWindow>
> #include "ui_editor.h"
>
> class EditorWindow : public QMainWindow
> {
> 	Q_OBJECT
> public:
>      EditorWindow(QWidget * parent = 0);
> private:
>      Ui::MainWindow ui;
> };
>
> #include "editorwindow.h"
> #include <QApplication>
> #include <QtGui>
>
> int main(int argc, char ** argv)
> {
>    QApplication app(argc, argv);
>    EditorWindow w;
>    w.show();
>    return app.exec();
> }
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers




More information about the vtkusers mailing list