[vtkusers] cmake error: no qvtkwidget.h is found
Yifei Li
yifli at mtu.edu
Tue Mar 31 12:26:24 EDT 2009
Clint:
I downloaded the latest version of VTK and built it with Qt4. After
typing 'make install', VTK libraries are installed under
/usr/local/lib and VTK headers are installed under /usr/local/include.
Then I manually copied the whole VTK build dir to /usr/local/vtk
However, in my project directory, typing 'cmake .' gives the following
error:
-- VTK not found. Set the VTK_DIR cmake cache entry to the directory
containing VTKConfig.cmake. This is either the root of the build tree,
or PREFIX/lib/vtk for an installation. For VTK 4.0, this is the
location of UseVTK.cmake. This is either the root of the build tree or
PREFIX/include/vtk for an installation.
I tried 'setenv VTK_DIR /usr/local/vtk', but the error message did not
go away (I checked VTKConfig.cmake is in /usr/local/vtk).
What am I missing here? Thanks
Yifei
Clinton Stimpson wrote:
>
> You should not change that file manually.
> You should do your own build of VTK with Qt 4.
> For the future, maybe you can ask your linux distro to build it with
> Qt 4.
>
> Clint
>
> Yifei Li wrote:
>> Clinton,
>>
>> Thank you so much.
>>
>> You are right, I installed VTK using rpm and DESIRED_QT_VERSION is
>> set to 3. Here is what my VTKConfigQt.cmake looks like:
>>
>> SET(VTK_QT_QT_LIBRARY "/usr/lib/qt-3.3/lib/libqt-mt.so")
>> SET(VTK_QT_INCLUDE_DIR "/usr/lib/qt-3.3/include")
>> SET(VTK_QT_QASSISTANTCLIENT_LIBRARY
>> "/usr/lib/qt-3.3/lib/libqassistantclient.a")
>>
>> # exports for Qt4
>> SET(VTK_QT_RCC_EXECUTABLE "")
>> SET(VTK_DESIRED_QT_VERSION "3")
>>
>> # exports for Qt3/Qt4
>> SET(VTK_QT_MOC_EXECUTABLE "/usr/lib/qt-3.3/bin/moc")
>> SET(VTK_QT_UIC_EXECUTABLE "/usr/lib/qt-3.3/bin/uic")
>> SET(VTK_QT_QMAKE_EXECUTABLE "")
>>
>> Should I change this file manually?
>>
>> Yifei
>>
>> Clinton Stimpson wrote:
>>> Yifei Li wrote:
>>>> Hi all,
>>>>
>>>> I just made some progress. But I got a new problem - a linking error:
>>>>
>>>> CMakeFiles/editor.dir/editorwindow.o: In function
>>>> `Ui_MainWindow::setupUi(QMainWindow*)':
>>>> editorwindow.cpp:(.text._ZN13Ui_MainWindow7setupUiEP11QMainWindow[Ui_MainWindow::setupUi(QMainWindow*)]+0x492):
>>>> undefined reference to `QVTKWidget::QVTKWidget(QWidget*,
>>>> QFlags<Qt::WindowType>)'
>>> So I'm assuming you're using a VTK installation created by your
>>> Linux distribution? Some of the distros build QVTK with Qt3, so you
>>> can't use it with Qt4.
>>> Maybe that's your problem. Look for the VTKConfigQt.cmake file and
>>> see if it sets DESIRED_QT_VERSION=3.
>>>>
>>>> I fixed the previous problem by changing the name of the include
>>>> header 'qvtkwidget.h' (included in ui_editor.h) to 'QVTKWidget.h"
>>> You should fix it in your .ui file (with text editor or qt
>>> designer). The ui_editor.h is created from the .ui file.
>>> When you promote widgets in the designer, and type in the class
>>> name, it auto completes a header file for that class name - but its
>>> all lowercase. Its easiest to fix then.
>>>
>>> Clint
>>>>
>>>> However, the 'ui_editor.h' is automatically genereated after typing
>>>> 'make'. So is this a bug of cmake?? On the same machine where I
>>>> successfully built SimpleView, I did not have this problem.
>>>>
>>>> My computer is running Fedora 9 and cmake version is 2.4.
>>>>
>>>> Any ideas?
>>>>
>>>> Yifei
>>>>
>>>> Yifei Li wrote:
>>>>> Brian,
>>>>>
>>>>> I can build that example without problem. And I did learn a lot
>>>>> from its CMakeLists.txt
>>>>>
>>>>> Now I want to write my own CMakeLists.txt from scratch ( trying
>>>>> to get rid of those stuff that provides Qt3 compatbility in
>>>>> SimpleView) and have troubles. Here is my CMakeLists.txt. Using
>>>>> 'make verbose=1' did show '-I/usr/include/vtk'.
>>>>>
>>>>> Any help is highly apprecaited.
>>>>>
>>>>> Yifei
>>>>>
>>>>> PROJECT( editor )
>>>>>
>>>>> SET( SAMPLE_SRCS
>>>>> main.cpp
>>>>> editorwindow.cpp
>>>>> )
>>>>>
>>>>> SET( SAMPLE_MOC_HDRS
>>>>> editorwindow.h
>>>>> )
>>>>>
>>>>> SET( SAMPLE_UIS
>>>>> editor.ui
>>>>> )
>>>>>
>>>>>
>>>>> FIND_PACKAGE( Qt4 REQUIRED )
>>>>> FIND_PACKAGE( VTK )
>>>>>
>>>>> INCLUDE( ${QT_USE_FILE} )
>>>>> INCLUDE( ${VTK_USE_FILE} )
>>>>>
>>>>> QT4_WRAP_UI( SAMPLE_UI_HDRS ${SAMPLE_UIS} )
>>>>>
>>>>> QT4_WRAP_CPP( SAMPLE_MOC_SRCS ${SAMPLE_MOC_HDRS} )
>>>>>
>>>>> INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${CMAKE_BINARY_DIR} )
>>>>>
>>>>> ADD_EXECUTABLE( editor ${SAMPLE_SRCS} ${SAMPLE_MOC_SRCS}
>>>>> ${SAMPLE_UI_HDRS} )
>>>>>
>>>>> TARGET_LINK_LIBRARIES( editor QVTK ${QT_LIBRARIES} )
>>>>> Wylie, Brian wrote:
>>>>>> Yifei,
>>>>>>
>>>>>> There's a 'SimpleView' example in VTK\Examples\GUI\Qt\SimpleView
>>>>>> that builds a small Qt/VTK application. You might look at it's
>>>>>> CMakeLists.txt file for guidance.
>>>>>> Also, looking through the generated Makefile (or windows project
>>>>>> file), may give you some clues.
>>>>>> Brian Wylie - Org 1424
>>>>>> Sandia National Laboratories
>>>>>> MS 1323 - Building CSRI/242
>>>>>> (505)844-2238 FAX(505)284-2518 _______ __
>>>>>> /_ __(_) /_____ _____
>>>>>> / / / / __/ __ `/ __ \
>>>>>> / / / / /_/ /_/ / / / /
>>>>>> /_/ /_/\__/\__,_/_/ /_/
>>>>>> Informatics Toolkit
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org]
>>>>>> On Behalf Of Yifei Li
>>>>>> Sent: Monday, March 30, 2009 8:30 AM
>>>>>> To: vtkusers at vtk.org
>>>>>> Subject: [vtkusers] cmake error: no qvtkwidget.h is found
>>>>>>
>>>>>> 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
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>
>> _______________________________________________
>> 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
>
>
> _______________________________________________
> 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