[Insight-users] link problem
imho
imho@skynet.be
10 Feb 2003 15:19:13 +0100
Hi,
I've definitely problems with cmake under linux.
Now I've writed a cmakelist file (I've corrected the QT_QT_LIBRARY), the
cmake works great, but make give me a lot of linking problems (undefined
reference to... all !! ).
thanks a lot
files are following here :
Here is my cmakelist :
-----------------------------------------------------
PROJECT(NewProject)
INCLUDE (${CMAKE_ROOT}/Modules/FindVTK.cmake)
IF (USE_VTK_FILE)
INCLUDE(${USE_VTK_FILE})
ENDIF (USE_VTK_FILE)
#
# Find ITK
#
INCLUDE (${CMAKE_ROOT}/Modules/FindITK.cmake)
IF (USE_ITK_FILE)
INCLUDE(${USE_ITK_FILE})
ENDIF(USE_ITK_FILE)
#
# Find QT
#
INCLUDE (${CMAKE_ROOT}/Modules/FindQt.cmake)
INCLUDE_DIRECTORIES(
${QT_INCLUDE_DIR}
${QT_INCLUDE_PATH}
/home/imho/memoire/VTK
/home/imho/memoire/VTK/Rendering
/home/imho/memoire/VTK/Imaging
/home/imho/memoire/VTK/Graphics
/home/imho/memoire/VTK/Hybrid
/home/imho/memoire/VTK/Common
/home/imho/memoire/VTK/Filtering
/home/imho/memoire/VTK/IO
/home/imho/memoire/VTK/Patented
/home/imho/memoire/VTK/Parallel
/home/imho/memoire/VTK/Utilities/zlib
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Code/Algorithms
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Code/IO
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Code/BasicFilters
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Code/Numerics
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Code/SpatialObject
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Code/Numerics/vxl
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Code/Numerics/vxl/vcl
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Code/Numerics/vxl/vnl
/home/imho/memoire/ITK/InsightToolkit-1.0.0/Examples/vtkITK/Common
/usr/local/lib/VTK
/usr/local/include/VTK
/usr/local/qt/lib
)
LINK_LIBRARIES (
vtkRendering
vtkGraphics
vtkHybrid
vtkImaging
vtkIO
vtkFiltering
vtkCommon
vtkzlib
ITKNumerics
VXLNumerics
ITKCommon
ITKBasicFilters
ITKAlgorithms
ITKIO
ITKMetaIO
itkpng
itkzlib
vtk_qt
#libeditor
#libqnp
#libqt
#libqui
${QT_QT_LIBRARY}
)
IF(WIN32)
ADD_DEFINITIONS(-DQT_DLL)
ENDIF(WIN32)
SET(NewProject_SRCS
affichage16coupes.cpp
affichage1coupe.cpp newprojectwindow.cpp
affichage4coupes.cpp traitementITK.cpp
affichage4vues.cpp main.cpp vtkInteractorStyleCustom.cpp
affichageVTK3D.cpp
affichageVTK.cpp
)
SET(NewProject_MOC_SRCS
affichage16coupes.h affichageVTK3D.h
affichage1coupe.h affichageVTK.h newprojectwindow.h
affichage4coupes.h traitementITK.h
affichage4vues.h vtkInteractorStyleCustom.h
)
IF(QT_WRAP_CPP)
QT_WRAP_CPP(NewProject NewProject_SRCS NewProject_MOC_SRCS)
ENDIF(QT_WRAP_CPP)
ADD_EXECUTABLE(NewProject NewProject_SRCS)
-------------------------------------------
and
cmake and make results :
-------------------------------------------
[imho@imhosmachine NewProject]$ cmake
-- Check for working C compiler: gcc -- works
-- Check for working CXX compiler: g++ -- works
-- Configuring done
-- Generating done
[imho@imhosmachine NewProject]$ make
Building executable NewProject...
affichage16coupes.o: In function
`affichage16coupes::chargerImages(readerVTK*, int)':
affichage16coupes.o(.text+0x24d7): undefined reference to
`readerVTK::getReader()'
affichage16coupes.o(.text+0x24fa): undefined reference to
`readerVTK::getReader()'
affichage16coupes.o(.text+0x251d): undefined reference to
`readerVTK::getReader()'
affichage16coupes.o(.text+0x2540): undefined reference to
`readerVTK::getReader()'
affichage16coupes.o(.text+0x2563): undefined reference to
`readerVTK::getReader()'
affichage16coupes.o(.text+0x2586): more undefined references to
`readerVTK::getReader()' follow
newprojectwindow.o: In function
`NewProjectWindow::NewProjectWindow[not-in-charge](QWidget*, char
const*, unsigned)':
newprojectwindow.o(.text+0x1e6): undefined reference to
`readerVTK::readerVTK[in-charge]()'
newprojectwindow.o: In function
`NewProjectWindow::NewProjectWindow[in-charge](QWidget*, char const*,
unsigned)':
newprojectwindow.o(.text+0x2944): undefined reference to
`readerVTK::readerVTK[in-charge]()'
newprojectwindow.o: In function `NewProjectWindow::Ouvrir()':
newprojectwindow.o(.text+0x5244): undefined reference to
`readerVTK::~readerVTK [in-charge]()'
newprojectwindow.o(.text+0x5280): undefined reference to
`readerVTK::readerVTK[in-charge]()'
newprojectwindow.o(.text+0x5328): undefined reference to
`readerVTK::chargerImage(QString*, int)'
newprojectwindow.o(.text+0x53f4): undefined reference to
`readerVTK::UpdateReader()'
newprojectwindow.o: In function `NewProjectWindow::ChangeSerie()':
newprojectwindow.o(.text+0x5941): undefined reference to
`readerVTK::~readerVTK [in-charge]()'
newprojectwindow.o(.text+0x597d): undefined reference to
`readerVTK::readerVTK[in-charge]()'
newprojectwindow.o(.text+0x5a2e): undefined reference to
`readerVTK::chargerImage(QString*, int)'
newprojectwindow.o(.text+0x5b03): undefined reference to
`readerVTK::UpdateReader()'
newprojectwindow.o: In function `NewProjectWindow::Aff1Coupe()':
newprojectwindow.o(.text+0x5e2b): undefined reference to
`vtkQtObjectFactory::SetQtBase(QWidget*, char*)'
newprojectwindow.o(.text+0x5ea9): undefined reference to
`vtkQtObjectFactory::QtWidget(vtkObject*)'
newprojectwindow.o: In function `NewProjectWindow::Aff4Coupes()':
newprojectwindow.o(.text+0x6339): undefined reference to
`vtkQtObjectFactory::SetQtBase(QWidget*, char*)'
newprojectwindow.o(.text+0x63b7): undefined reference to
`vtkQtObjectFactory::QtWidget(vtkObject*)'
newprojectwindow.o: In function `NewProjectWindow::Aff16Coupes()':
newprojectwindow.o(.text+0x6849): undefined reference to
`vtkQtObjectFactory::SetQtBase(QWidget*, char*)'
newprojectwindow.o(.text+0x68c7): undefined reference to
`vtkQtObjectFactory::QtWidget(vtkObject*)'
newprojectwindow.o: In function `NewProjectWindow::Aff4Vues()':
newprojectwindow.o(.text+0x6cc9): undefined reference to
`vtkQtObjectFactory::SetQtBase(QWidget*, char*)'
newprojectwindow.o(.text+0x6d47): undefined reference to
`vtkQtObjectFactory::QtWidget(vtkObject*)'
affichage4coupes.o: In function
`affichage4coupes::chargerImages(readerVTK*, int)':
affichage4coupes.o(.text+0xb0f): undefined reference to
`readerVTK::getReader()'
affichage4coupes.o(.text+0xb32): undefined reference to
`readerVTK::getReader()'
affichage4coupes.o(.text+0xb55): undefined reference to
`readerVTK::getReader()'
affichage4coupes.o(.text+0xb78): undefined reference to
`readerVTK::getReader()'
affichage4vues.o: In function `affichage4vues::chargerImages(readerVTK*,
int)':
affichage4vues.o(.text+0xacb): undefined reference to
`readerVTK::getReader()'
affichage4vues.o(.text+0xaee): more undefined references to
`readerVTK::getReader()' follow
main.o: In function `main':
main.o(.text+0x15): undefined reference to
`vtkQtObjectFactory::RegisterObjectFactory()'
main.o(.text+0x30): undefined reference to `QGLFormat::hasOpenGL()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::updateGL()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::qt_emit(int, QUObject*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::initializeOverlayGL()'/usr/local/qt/lib/libvtk_qt.so:
undefined reference to `QGLWidget::setFormat(QGLFormat const&)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to
vtkQGLRenderWindowInteractor::PrintSelf(std::basic_ostream<char,
std::char_traits<char> >&, vtkIndent)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to vtkQGLRenderWindowInteractor::Enable()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::resizeGL(int, int)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::paintEvent(QPaintEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to vtkQGLRenderWindowInteractor::Initialize()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to
vtkQGLRenderWindowInteractor::~vtkQGLRenderWindowInteractor [in-charge
deleting]()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to vtkQGLRenderWindowInteractor::DestroyTimer()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::initializeGL()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to vtkQGLRenderWindowInteractor::CreateTimer(int)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::glInit()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::MouseMove(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLWindowQT::sizeHint() const'/usr/local/qt/lib/libvtk_qt.so:
undefined reference to `vtkQGLWindowQT::keyPressEvent(QKeyEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::setMouseTracking(bool)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::CreateTimer(int)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::TimerFunc()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::resizeOverlayGL(int, int)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::KeyReleased(QKeyEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::grabFrameBuffer(bool)'/usr/local/qt/lib/libvtk_qt.so:
undefined reference to `non-virtual thunk [nv:-40] to
vtkQGLRenderWindowInteractor::~vtkQGLRenderWindowInteractor
[in-charge]()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::qt_cast(char const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::Enable()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::Initialize()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to vtkQGLRenderWindowInteractor::UpdateSize(int, int)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::renderPixmap(int, int, bool)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::Start()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::updateOverlayGL()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLWindowQT::mouseMoveEvent(QMouseEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLWindowQT::keyReleaseEvent(QKeyEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::resizeEvent(QResizeEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::RightButtonReleased(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::RightButtonPressed(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::makeCurrent()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::ButtonReleased(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::LeftButtonReleased(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::qt_property(int, int, QVariant*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::makeOverlayCurrent()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::setContext(QGLContext*, QGLContext const*, bool)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::~vtkQGLRenderWindowInteractor
[in-charge]()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLWindowQT::setSizeHint(QSize)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::Disable()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::swapBuffers()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::~QGLWidget [not-in-charge]()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLWindowQT::mousePressEvent(QMouseEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `typeinfo for
QGLWidget'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::paintGL()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::LeftButtonPressed(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLWindowQT::mouseReleaseEvent(QMouseEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::MiddleButtonReleased(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::reparent(QWidget*, unsigned, QPoint const&, bool)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::qt_invoke(int, QUObject*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to vtkQGLRenderWindowInteractor::Start()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::~vtkQGLRenderWindowInteractor [in-charge
deleting]()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to `non-virtual
thunk [nv:-40] to vtkQGLRenderWindowInteractor::Disable()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::PrintSelf(std::basic_ostream<char,
std::char_traits<char> >&, vtkIndent)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::KeyPressed(QKeyEvent*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::DestroyTimer()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::paintOverlayGL()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::glDraw()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`QGLWidget::staticMetaObject()'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::MiddleButtonPressed(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::ButtonPressed(QMouseEvent const*)'
/usr/local/qt/lib/libvtk_qt.so: undefined reference to
`vtkQGLRenderWindowInteractor::UpdateSize(int, int)'
collect2: ld returned 1 exit status
make[1]: *** [NewProject] Erreur 1
make: *** [default_target] Erreur 2
--------------------------------------------