> Von: "Christian Ehrlicher" > > Von: "Luis Roberto P. Paula" > > Hello everyone! > > > > I'm trying to compile a simple application using Qt4 with cmake, but I'm > > stucked in this error: > > > > [ 33%] Generating ui_mivgui.h > > Scanning dependencies of target viewer > > [ 66%] Building CXX object CMakeFiles/viewer.dir/main.o > > [100%] Building CXX object CMakeFiles/viewer.dir/mivgui.o > > Linking CXX executable viewer > > CMakeFiles/viewer.dir/mivgui.o: In function `MivGui::MivGui(QWidget*)': > > mivgui.cxx:(.text+0x14e): undefined reference to `vtable for MivGui' > > mivgui.cxx:(.text+0x158): undefined reference to `vtable for MivGui' > > CMakeFiles/viewer.dir/mivgui.o: In function `MivGui::MivGui(QWidget*)': > > mivgui.cxx:(.text+0x2c6): undefined reference to `vtable for MivGui' > > mivgui.cxx:(.text+0x2d0): undefined reference to `vtable for MivGui' > > CMakeFiles/viewer.dir/mivgui.o: In function `MivGui::tr(char const*, > char > > const*)': > > mivgui.cxx:(.text._ZN6MivGui2trEPKcS1_[MivGui::tr(char const*, char > > const*)]+0x1e): undefined reference to `MivGui::staticMetaObject' > > collect2: ld returned 1 exit status > > make[2]: *** [viewer] Error 1 > > make[1]: *** [CMakeFiles/viewer.dir/all] Error 2 > > make: *** [all] Error 2 > > > <snip> > > > > CMakeLists.txt > > > ---------------------------------------------------------------------------------------------------------------------------------------------- > > > > SET(SOURCES_CPP > > main.cxx > > mivgui.cxx) > > MESSAGE( STATUS ${SOURCES_CPP} ) > > > > SET(SOURCES_H > > mivgui.h) > > MESSAGE( STATUS ${SOURCES_H} ) > > > > SET(SOURCES_UI > > mivgui.ui) > > MESSAGE( STATUS ${SOURCES_UI} ) > > > > FIND_PACKAGE(Qt4 REQUIRED) > > > > include(${QT_USE_FILE}) > > > > QT4_WRAP_UI(SOURCES_UI_H ${SOURCES_UI}) > > > > #qt4_automoc(${SOURCES_H}) > > > Why did you comment out this line? > You need to moc your header - otherwise you'll get linker errors like > above. > > Oh, I frogot something.
You've to add '#include "mivgui.moc"' at the end of mivgui.cxx to make sure automoc works like expected. This is because cmake uses the 'automake-way' of creating moc files. Search cmake wiki and mailing list - this was discussed often :) HTH Christian -- GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen! Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED] _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake