GNOME Bugzilla – Bug 349740
Can't build examples mywidget.cc
Last modified: 2006-08-08 02:52:34 UTC
I have gtk+ 2.6.10 and gtkmm 2.6.4 installed, tried to build gtkmm 2.6.14: g++-3.3 -DHAVE_CONFIG_H -I. -I. -I../../../../pango -I../../../../pango -I../../../../atk -I../../../../atk -I../../../../gdk -I../../../../gdk -I../../../../gtk -I../../../../gtk -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pango-1.0 -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 -I/sw/include/gtk-2.0 -I/sw/include/atk-1.0 -I/sw/lib/gtk-2.0/include -I/sw/include/sigc++-2.0 -I/sw/lib/sigc++-2.0/include -I/sw/include/glibmm-2.4 -I/sw/lib/glibmm-2.4/include -DGTKMM_DISABLE_DEPRECATED -no-cpp-precomp -DX_LOCALE -I/sw/include -g -O2 -pedantic -W -Wall -c -o examplewindow.o examplewindow.cc mywidget.cc: In member function `virtual void MyWidget::on_map()': mywidget.cc:57: error: 'class Gtk::Widget' has no member named 'on_map' mywidget.cc: In member function `virtual void MyWidget::on_unmap()': mywidget.cc:63: error: 'class Gtk::Widget' has no member named 'on_unmap' mywidget.cc: In member function `virtual void MyWidget::on_realize()': mywidget.cc:69: error: 'class Gtk::Widget' has no member named 'on_realize' mywidget.cc: In member function `virtual void MyWidget::on_unrealize()': mywidget.cc:113: error: 'class Gtk::Widget' has no member named 'on_unrealize' make[5]: *** [mywidget.o] Error 1
Between 2.6.4 and 2.6.14, an option was added to disable the default virtual signal handlers (to save space for e.g. embedded applications). My guess is that this is the problem you're seeing. Have you upgraded your glibmm version as well?
I've got glib 2.12.0 and glibmm 2.10.4
Could you attach the contents of you glibmmconfig.h file, please?
Created attachment 70397 [details] glibmmconfig.h from glibmm-2.10.4 glibmm was built as: CPPFLAGS="-no-cpp-precomp -DX_LOCALE -I/sw/include" CFLAGS="-O3 -funroll-loops -fstrict-aliasing -pipe" LDFLAGS="-L/sw/lib" PERL_PATH=/usr/bin/perl ./configure --mandir=/sw/share/man --disable-dependency-tracking --enable-warnings=maximum --enable-static --prefix=/sw make -j2
Sorry, I thought I had release glibmm 2.10.5. I'm doing that now. Although the latest gtkmm 2.6 checks that you have the latest glibmm 2.6, it can't check that you have the latest glibmm 2.8 or glibmm 2.10. This is one of the problems of introducing a new feature in a stable branch, but the embedded people need it because they are stuck on GTK+ 2.6 for now. Please reopen if this doesn't fix it.
Yup, gtkmm 2.6.14 built fully, including tests and examples, after I upgraded glibmm to 2.10.5. Thanks!