[KPhotoAlbum] Link problem with DirtyIndicator.cpp

Robert L Krawitz rlk at alum.mit.edu
Wed Sep 27 00:04:11 BST 2006

   From: Ashley J Gittins <agittins at purple.dropbear.id.au>
   Date: Wed, 27 Sep 2006 01:40:06 +1000
   Cc: kphotoalbum at kdab.net

   On Wednesday 27 September 2006 01:02, Robert L Krawitz wrote:
   > There have been plenty of new files (and new classes) added that
   > haven't caused this problem.  Why is this one any different?

   As I said, it was just a pot-shot so I am guessing. But it could be
   that the timestamp on the corrected file via svn was older than the
   last attempted build, which might cause make or configure to not
   realise it needed to regenerate something.

   I have had odd build errors before that were only solved with a
   make distclean, then configure/make cycle. The automake tools all
   depend pretty heavily on timestamps to save doing unnecessary work,
   so if a file gets injected with an older timestamp than the last
   build it can mess things up.

Well, I undid my change, ran make clean, ran configure, and the error
came back.  Looks like that

#include "DirtyIndicator.moc"

really is needed.  How is the compiler going to find it otherwise?

if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I./Survey -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fexceptions  -DQT_NO_CAST_ASCII -DQT_CAST_NO_ASCII  -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.cpp; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
/bin/sh ../libtool --silent --tag=CXX --mode=link g++  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fexceptions  -DQT_NO_CAST_ASCII -DQT_CAST_NO_ASCII    -o kphotoalbum -L/opt/kde3/lib -L/usr/lib/qt3/lib -L/usr/X11R6/lib    -R /opt/kde3/lib -R /opt/kde3/lib -R /usr/lib/qt3/lib -R /usr/X11R6/lib main.o MainWindow/libMainWindow.la Survey/libsurvey.la ImportExport/libImportExport.la XMLDB/libxmldb.la DateBar/libdatebar.la Browser/libBrowser.la Plugins/libPlugins.la Viewer/libViewer.la ThumbnailView/libThumbnailView.la AnnotationDialog/libAnnotationDialog.la Settings/libSettings.la Utilities/libUtilities.la ImageManager/libImageManager.la DB/libDB.la CategoryListView/libCategoryListView.la  -lkio
  -ljpeg -lkipi   HTMLGenerator/libHTMLGenerator.la Exif/libexif.la -lexiv2 -lkmediaplayer 
MainWindow/.libs/libMainWindow.a(DirtyIndicator.o): In function `MainWindow::DirtyIndicator::markDirty()':
DirtyIndicator.cpp:(.text+0x48): undefined reference to `MainWindow::DirtyIndicator::dirty()'
MainWindow/.libs/libMainWindow.a(DirtyIndicator.o): In function `MainWindow::DirtyIndicator::DirtyIndicator(QWidget*)':
DirtyIndicator.cpp:(.text+0x88): undefined reference to `vtable for MainWindow::DirtyIndicator'
MainWindow/.libs/libMainWindow.a(DirtyIndicator.o): In function `MainWindow::DirtyIndicator::DirtyIndicator(QWidget*)':
DirtyIndicator.cpp:(.text+0x2b8): undefined reference to `vtable for MainWindow::DirtyIndicator'
collect2: ld returned 1 exit status
make[3]: *** [kphotoalbum] Error 1
make[3]: Leaving directory `/home/rlk/sandbox/KPhotoAlbum-src/kphotoalbum'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/rlk/sandbox/KPhotoAlbum-src/kphotoalbum'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rlk/sandbox/KPhotoAlbum-src'
make: *** [all] Error 2

More information about the Kphotoalbum mailing list