[Insight-users] QtITK Problem

Julien Jomier jjomier at cs.unc.edu
Wed Nov 16 15:22:24 EST 2005


Hi Gheorghe,

To the best of my knowledge there is no example in InsightApplications 
working with Qt 3.3.
You might be able to convert the example to use Qt 3.3 or maybe someone 
on the list has a small example (I'll be happy to add it into 
InsightApplications with the appropriate credits).

If you want you can log a feature request on the bug tracker 
(http://www.itk.org/Bug) and assign it to me.

Julien

Gheorghe Postelnicu wrote:
> Hi Julien,
> 
> Indeed, I am using Qt 3.3 (the default installed on my laptop).
> 
> Is there any other example that uses jointly ITK and Qt?
> 
> Thanks,
> 
> On 11/16/05, *Julien Jomier* <jjomier at cs.unc.edu 
> <mailto:jjomier at cs.unc.edu>> wrote:
> 
>     Hi Gheorghe,
> 
>     What version of Qt are you using? This example works only with Qt 2.3
> 
>     Let us know,
> 
>     Julien
> 
>     Gheorghe Postelnicu wrote:
>      > Hi Julien,
>      >
>      > Thanks alot for the help!
>      >
>      > Now I seem to have some linking problems. I should mention that I am
>      > using ccmake version 2.2-patch 2 and I receive the following errors:
>      >
>      > --
>      > Linking CXX executable QtITK
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.t._ZN3itk16QtLightIndicatorD1Ev+0x13):
> 
>      > In function `itk::QtLightIndicator::~QtLightIndicator()':
>      > : undefined reference to `vtable for itk::QtLightIndicator'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.t._ZN3itk16QtLightIndicatorD1Ev+0x1f):
> 
>      > In function `itk::QtLightIndicator::~QtLightIndicator()':
>      > : undefined reference to `vtable for itk::QtLightIndicator'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.t._ZN3itk12QtTranslatorD2Ev+0xb):
>      > In function `itk::QtTranslator::~QtTranslator()':
>      > : undefined reference to `vtable for itk::QtTranslator'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.t._ZN3itk15QtSignalAdaptor10EmitSignalEv+0xd):
>      > In function `itk::QtSignalAdaptor::EmitSignal()':
>      > : undefined reference to `itk::QtTranslator::Signal()'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.t._ZN3itk12QtTranslatorC2Ev+0x1d):
>      > In function `itk::QtTranslator::QtTranslator()':
>      > : undefined reference to `vtable for itk::QtTranslator'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.t._ZN3itk16QtLightIndicatorC1EP7QWidgetPc+0x1e):
>      > In function `itk::QtLightIndicator::QtLightIndicator(QWidget*,
>     char*)':
>      > : undefined reference to `vtable for itk::QtLightIndicator'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.t._ZN3itk16QtLightIndicatorC1EP7QWidgetPc+0x2a):
>      > In function `itk::QtLightIndicator::QtLightIndicator(QWidget*,
>     char*)':
>      > : undefined reference to `vtable for itk::QtLightIndicator'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk13QtSlotAdaptorINS_14AddImageFilterINS_5ImageIfLj2EEES3_S3_EEEE+0xc):
>      > undefined reference to `itk::QtTranslator::className() const'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk13QtSlotAdaptorINS_14AddImageFilterINS_5ImageIfLj2EEES3_S3_EEEE+0x10):
> 
>      > undefined reference to `itk::QtTranslator::qt_cast(char const*)'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk13QtSlotAdaptorINS_14AddImageFilterINS_5ImageIfLj2EEES3_S3_EEEE+0x14):
>      > undefined reference to `itk::QtTranslator::qt_invoke(int,
>     QUObject*)'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk13QtSlotAdaptorINS_14AddImageFilterINS_5ImageIfLj2EEES3_S3_EEEE+0x18):
>      > undefined reference to `itk::QtTranslator::qt_emit(int, QUObject*)'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk13QtSlotAdaptorINS_14AddImageFilterINS_5ImageIfLj2EEES3_S3_EEEE+0x1c):
> 
>      > undefined reference to `itk::QtTranslator::qt_property(int, int,
>     QVariant*)'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk15QtSignalAdaptorE+0xc):
>      > undefined reference to `itk::QtTranslator::className() const'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk15QtSignalAdaptorE+0x10):
>      > undefined reference to `itk::QtTranslator::qt_cast(char const*)'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk15QtSignalAdaptorE+0x14):
> 
>      > undefined reference to `itk::QtTranslator::qt_invoke(int, QUObject*)'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk15QtSignalAdaptorE+0x18):
>      > undefined reference to `itk::QtTranslator::qt_emit(int, QUObject*)'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTVN3itk15QtSignalAdaptorE+0x1c):
>      > undefined reference to `itk::QtTranslator::qt_property(int, int,
>     QVariant*)'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.t._ZNK3itk12QtTranslator10metaObjectEv+0x7):
> 
>      > In function `itk::QtTranslator::metaObject() const':
>      > : undefined reference to `itk::QtTranslator::staticMetaObject()'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTIN3itk15QtSignalAdaptorE+0x8):
> 
>      > undefined reference to `typeinfo for itk::QtTranslator'
>      >
>     CMakeFiles/QtITK.dir/qtITK.o(.gnu.linkonce.r._ZTIN3itk13QtSlotAdaptorINS_14AddImageFilterINS_5ImageIfLj2EEES3_S3_EEEE+0x8):
>      > undefined reference to `typeinfo for itk::QtTranslator'
>      > collect2: ld returned 1 exit status
>      > make[2]: *** [QtITK] Error 1
>      > make[1]: *** [CMakeFiles/QtITK.dir/all] Error 2
>      > make: *** [all] Error 2
>      >
>      > --
>      >
>      > I have seen you mention that this was a known problem with CMake
>     2.0.2
>      > not wrapping cpp for Qt, so I uncommented the relevant lines. So
>     now my
>      > CMakeLists.txt looks like this:
>      >
>      > --
>      > PROJECT(QtITKExample)
>      >
>      > #IF( BUILD_OUTSIDE_INSIGHT_APPLICATIONS )
>      >
>      >   FIND_PACKAGE(ITK)
>      >   IF(ITK_FOUND)
>      >     INCLUDE(${ITK_USE_FILE})
>      >   ELSE(ITK_FOUND)
>      >     MESSAGE(FATAL_ERROR
>      >             "Cannot build InsightApplications without
>     ITK.  Please set
>      > ITK_DIR.")
>      >   ENDIF(ITK_FOUND)
>      >
>      > #ENDIF( BUILD_OUTSIDE_INSIGHT_APPLICATIONS )
>      >
>      > #
>      > # Find QT
>      > #
>      > INCLUDE (${CMAKE_ROOT}/Modules/FindQt.cmake)
>      >
>      > INCLUDE_DIRECTORIES(
>      > ${QT_INCLUDE_DIR}
>      > ${QT_INCLUDE_PATH}
>      > )
>      >
>      > LINK_LIBRARIES (
>      > ITKIO
>      > ITKCommon
>      > ITKBasicFilters
>      > ITKAlgorithms
>      > ITKIO
>      > itkpng
>      > itkzlib
>      > ${QT_QT_LIBRARY}
>      > )
>      >
>      > SET(QtITK_SRCS
>      > itkQtProgressBar.cxx
>      > qtITK.cxx
>      > )
>      >
>      > SET(QtITK_MOC_SRCS
>      > itkQtAdaptor.h
>      > itkQtLightIndicator.h
>      > )
>      >
>      > #IF(QT_WRAP_CPP)
>      > #  QT_WRAP_CPP(QtITK QtITK_SRCS QtITK_MOC_SRCS)
>      > #ENDIF(QT_WRAP_CPP)
>      >
>      > QT_WRAP_CPP(QtITK ${QtITK_SRCS} ${QtITK_MOC_SRCS})
>      > ADD_EXECUTABLE(QtITK ${QtITK_SRCS})
>      >
>      > #ADD_EXECUTABLE(QtITK QtITK_SRCS)
>      >
>      > #INSTALL_TARGETS(/bin QtITK)
>      > --
>      >
>      > Thanks for the help,
>      >
>      > On 11/16/05, *Julien Jomier* < jjomier at cs.unc.edu
>     <mailto:jjomier at cs.unc.edu>
>      > <mailto:jjomier at cs.unc.edu <mailto:jjomier at cs.unc.edu>>> wrote:
>      >
>      >     Hi Gheorghe,
>      >
>      >     Try to replace
>      >
>      >     QT_WRAP_CPP(QtITK QtITK_SRCS QtITK_MOC_SRCS)
>      >     ADD_EXECUTABLE(QtITK QtITK_SRCS)
>      >
>      >     by
>      >
>      >     QT_WRAP_CPP(QtITK ${QtITK_SRCS} ${QtITK_MOC_SRCS})
>      >     ADD_EXECUTABLE(QtITK ${QtITK_SRCS})
>      >
>      >     Let us know if that works or not. I'll put a fix as soon as I
>     can.
>      >
>      >     Thanks for the report,
>      >
>      >     Julien
>      >
>      >     Gheorghe Postelnicu wrote:
>      >      > Hi,
>      >      >
>      >      > I have a problem when building the provided qtITK example.
>     Namely, I
>      >      > receive the message
>      >      >
>      >      > CMake Error: can not find file
>      >     /local/ghighi/code/workshop/itkqt/QtITK_SRCS
>      >      >
>      >      > when running ccmake .
>      >      >
>      >      > Here is my CMakeLists.txt file:
>      >      >
>      >      > --
>      >      > PROJECT(QtITKExample)
>      >      >
>      >      > IF( BUILD_OUTSIDE_INSIGHT_APPLICATIONS )
>      >      >
>      >      >   FIND_PACKAGE(ITK)
>      >      >   IF(ITK_FOUND)
>      >      >     INCLUDE(${ITK_USE_FILE})
>      >      >   ELSE(ITK_FOUND)
>      >      >     MESSAGE(FATAL_ERROR
>      >      >             "Cannot build InsightApplications without
>      >     ITK.  Please set
>      >      > ITK_DIR.")
>      >      >   ENDIF(ITK_FOUND)
>      >      >
>      >      > ENDIF( BUILD_OUTSIDE_INSIGHT_APPLICATIONS )
>      >      >
>      >      > #
>      >      > # Find QT
>      >      > #
>      >      > INCLUDE (${CMAKE_ROOT}/Modules/FindQt.cmake)
>      >      >
>      >      > INCLUDE_DIRECTORIES(
>      >      > ${QT_INCLUDE_DIR}
>      >      > ${QT_INCLUDE_PATH}
>      >      > )
>      >      >
>      >      > LINK_LIBRARIES (
>      >      > ITKIO
>      >      > ${QT_QT_LIBRARY}
>      >      > )
>      >      >
>      >      > SET(QtITK_SRCS
>      >      > itkQtProgressBar.cxx
>      >      > qtITK.cxx
>      >      > )
>      >      >
>      >      > SET(QtITK_MOC_SRCS
>      >      > itkQtAdaptor.h
>      >      > itkQtLightIndicator.h
>      >      > )
>      >      >
>      >      > #IF(QT_WRAP_CPP)
>      >      >   QT_WRAP_CPP(QtITK QtITK_SRCS QtITK_MOC_SRCS)
>      >      > #ENDIF(QT_WRAP_CPP)
>      >      >
>      >      >
>      >      > ADD_EXECUTABLE(QtITK QtITK_SRCS)
>      >      >
>      >      > #INSTALL_TARGETS(/bin QtITK)
>      >      >
>      >      >
>      >      > --
>      >      >
>      >      > I am using
>      >      > ccmake version 2.2-patch 2
>      >      >
>      >      > Thanks,
>      >      > --
>      >      > Gheorghe
>      >      >
>      >      >
>      >      >
>      >      >
>      >    
>     ------------------------------------------------------------------------
> 
>      >      >
>      >      > _______________________________________________
>      >      > Insight-users mailing list
>      >      > Insight-users at itk.org <mailto:Insight-users at itk.org>
>     <mailto: Insight-users at itk.org <mailto:Insight-users at itk.org>>
>      >      > http://www.itk.org/mailman/listinfo/insight-users
>      >     < http://www.itk.org/mailman/listinfo/insight-users>
>      >
>      >
>      >
>      >
>      > --
>      > Gheorghe Postelnicu, PhD
>      > MGH, Harvard Medical School
> 
> 
> 
> 
> -- 
> Gheorghe Postelnicu, PhD
> MGH, Harvard Medical School



More information about the Insight-users mailing list