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

Yifei Li yifli at mtu.edu
Tue Mar 31 13:54:06 EDT 2009


I fixed the problem by first removing CMakeCache.txt and CMakeFiles and 
then running cmake again.

Actually this brings up one question I have in mind: 

Is there something like 'cmake -clean'?

Yifei
 Yifei Li wrote:
> 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
>
> _______________________________________________
> 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