trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: February 2012

moc deos not add constructor/deconstructor and languageChange()

From: Mehmet Ă–zdemir <mehmet@...>
Date: Sat, 11 Feb 2012 23:08:13 +0200
Hi all,

I am trying to compile kdebase-3.5.13 with cmake. I have already compiled 
arts, tqtinterface, qt3 and kdelibs. My problem is moc does not add 
constructor/deconstructor and languageChange() function although there is a 
declaration for them in the header file which is created by uic. And while 
linking shared object I get undefined reference errors for these functions.

Failied part of the build log and nm output is attached.

Does anyone have an idea what I must do?
Thanks in advance.




...

Generating bgdialog_ui.h, bgdialog_ui.cpp
cd /var/pisi/kdebase-3.5.13-1/work/kdebase/build/kcontrol/background && /usr/bin/cmake -DUIC_EXECUTABLE:FILEPATH=/usr/qt/3/bin/uic -DTDE_QTPLUGINS_DIR:FILEPATH=/usr/kde/3.5/lib/trinity/plugins -DUI_FILE:FILEPATH=/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog_ui.ui -P /var/pisi/kdebase-3.5.13-1/work/kdebase/cmake/modules/tde_uic.cmake
cd /var/pisi/kdebase-3.5.13-1/work/kdebase/build/kcontrol/background && /usr/qt/3/bin/moc bgdialog_ui.h >> bgdialog_ui.cpp
/usr/bin/cmake -E cmake_progress_report /var/pisi/kdebase-3.5.13-1/work/kdebase/build/CMakeFiles 

...

Linking CXX shared module kcm_background.so
cd /var/pisi/kdebase-3.5.13-1/work/kdebase/build/kcontrol/background && /usr/bin/cmake -E cmake_link_script CMakeFiles/kcm_background-module.dir/link.txt --verbose=1
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++  -fPIC -mtune=generic -march=x86-64 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2 -g3 -ggdb   -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -O2 -g -Wl,--no-undefined -shared -Wl,-soname,kcm_background.so -o kcm_background.so CMakeFiles/kcm_background-module.dir/main.cpp.o -L/usr/qt/3/lib libkcmbgnd.a libbgnd.a /usr/kde/3.5/lib/libknewstuff.so.1.0.0 /usr/kde/3.5/lib/libkio.so.4.2.0 /usr/kde/3.5/lib/libkdeui.so.4.2.0 -lfreetype -lfontconfig /usr/kde/3.5/lib/libkdesu.so.4.2.0 -lutil /usr/kde/3.5/lib/libkwalletclient.so.1.0.1 /usr/kde/3.5/lib/libkdecore.so.4.2.0 /usr/kde/3.5/lib/libDCOP.so.4.2.0 /usr/kde/3.5/lib/libkdefx.so.4.2.0 -ltqt -lqt-mt -lXrender -lX11 -lz -lXcomposite -lXfixes -lICE -lSM -Wl,-rpath,/usr/qt/3/lib:/usr/kde/3.5/lib: 
libkcmbgnd.a(bgdialog.cpp.o): In function `~BGDialog':
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:267: undefined reference to `BGDialog_UI::~BGDialog_UI()'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:267: undefined reference to `BGDialog_UI::~BGDialog_UI()'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:267: undefined reference to `BGDialog_UI::~BGDialog_UI()'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:267: undefined reference to `BGDialog_UI::~BGDialog_UI()'
libkcmbgnd.a(bgdialog.cpp.o): In function `BGDialog':
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:70: undefined reference to `BGDialog_UI::BGDialog_UI(QWidget*, char const*, unsigned int)'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:262: undefined reference to `BGDialog_UI::~BGDialog_UI()'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:70: undefined reference to `BGDialog_UI::BGDialog_UI(QWidget*, char const*, unsigned int)'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:262: undefined reference to `BGDialog_UI::~BGDialog_UI()'
libkcmbgnd.a(bgdialog.cpp.o): In function `~BGDialog':
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:267: undefined reference to `BGDialog_UI::~BGDialog_UI()'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgdialog.cpp:267: undefined reference to `BGDialog_UI::~BGDialog_UI()'
libkcmbgnd.a(bgdialog.cpp.o):(.data.rel.ro._ZTV8BGDialog[vtable for BGDialog]+0x380): undefined reference to `BGDialog_UI::languageChange()'
libkcmbgnd.a(bgdialog_ui.cpp.o):(.data.rel.ro._ZTV11BGDialog_UI[vtable for BGDialog_UI]+0x40): undefined reference to `BGDialog_UI::~BGDialog_UI()'
libkcmbgnd.a(bgdialog_ui.cpp.o):(.data.rel.ro._ZTV11BGDialog_UI[vtable for BGDialog_UI]+0x48): undefined reference to `BGDialog_UI::~BGDialog_UI()'
libkcmbgnd.a(bgdialog_ui.cpp.o):(.data.rel.ro._ZTV11BGDialog_UI[vtable for BGDialog_UI]+0x380): undefined reference to `BGDialog_UI::languageChange()'
libkcmbgnd.a(bgdialog_ui.cpp.o):(.data.rel.ro._ZTV11BGDialog_UI[vtable for BGDialog_UI]+0x398): undefined reference to `non-virtual thunk to BGDialog_UI::~BGDialog_UI()'
libkcmbgnd.a(bgdialog_ui.cpp.o):(.data.rel.ro._ZTV11BGDialog_UI[vtable for BGDialog_UI]+0x3a0): undefined reference to `non-virtual thunk to BGDialog_UI::~BGDialog_UI()'
libkcmbgnd.a(bgwallpaper.cpp.o): In function `BGMultiWallpaperDialog':
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgwallpaper.cpp:102: undefined reference to `BGMultiWallpaperBase::BGMultiWallpaperBase(QWidget*, char const*, unsigned int)'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgwallpaper.cpp:102: undefined reference to `BGMultiWallpaperBase::BGMultiWallpaperBase(QWidget*, char const*, unsigned int)'
libkcmbgnd.a(bgadvanced.cpp.o): In function `BGAdvancedDialog':
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgadvanced.cpp:74: undefined reference to `BGAdvancedBase::BGAdvancedBase(QWidget*, char const*, unsigned int)'
/var/pisi/kdebase-3.5.13-1/work/kdebase/kcontrol/background/bgadvanced.cpp:74: undefined reference to `BGAdvancedBase::BGAdvancedBase(QWidget*, char const*, unsigned int)'





nm output is:

parduskurumsal background # nm ./CMakeFiles/kcmbgnd-static.dir/bgdialog_ui.cpp.o | c++filt | grep -i bgdialog
0000000000000020 t global constructors keyed to bgdialog_ui.cpp
0000000000000008 b cleanUp_BGDialog_UI
0000000000000060 T BGDialog_UI::qt_property(int, int, QVariant*)
                 U BGDialog_UI::languageChange()
00000000000000b0 T BGDialog_UI::staticMetaObject()
0000000000000010 T BGDialog_UI::qt_static_property(QObject*, int, int, QVariant*)
0000000000000000 B BGDialog_UI::metaObj
0000000000000080 T BGDialog_UI::qt_cast(char const*)
0000000000000070 T BGDialog_UI::qt_emit(int, QUObject*)
0000000000000140 T BGDialog_UI::qt_invoke(int, QUObject*)
                 U BGDialog_UI::~BGDialog_UI()
                 U BGDialog_UI::~BGDialog_UI()
  0000000000000000 W BGDialog_UI::metaObject() const
0000000000000000 T BGDialog_UI::className() const
 0000000000000000 V typeinfo for BGDialog_UI
 0000000000000000 V typeinfo name for BGDialog_UI
00000000000000000 V vtable for BGDialog_UI
0                 U non-virtual thunk to BGDialog_UI::~BGDialog_UI()
                 U non-virtual thunk to BGDialog_UI::~BGDialog_UI()
  0000000000000020 d BGDialog_UI::staticMetaObject()::slot_0
0000000000000000 d BGDialog_UI::staticMetaObject()::slot_tbl