Re: Maemomm Fremantle, missing declarations



On 2009-08-06 17:31, Lassi Väätämöinen <lassi vaatamoinen gmail com> wrote:
David King wrote:
On 2009-08-06 15:55, Lassi Väätämöinen <lassi vaatamoinen gmail com> wrote:
David King wrote:
On 2009-08-06 15:38, Lassi Väätämöinen <lassi vaatamoinen gmail com>
wrote:
David King wrote:
On 2009-08-06 15:09, Lassi Väätämöinen <lassi vaatamoinen gmail com>
wrote:
Hi,

it seems that Hildon::SizeType is not declared, e.g.:

/usr/include/hildonmm/hildonmm/button.h:188: error: 'Gtk::Hildon' has
not been declared

/usr/include/hildonmm/hildonmm/check-button.h:120: error:
'Gtk::Hildon'
has not been declared

/usr/include/hildonmm/hildonmm/picker-button.h:118: error:
'Gtk::Hildon'
has not been declared


Same goes with all other button-classes, not just these three. So
I am
not able to compile applications..

Odd, I don't seem to have this problem with a fresh install of the SDK
and hildonmm. The examples in the maemomm-documentation package build
fine for me. The SizeType enum is defined in gtkmm/enums.h from Gtkmm,
I assume that you have the Gtkmm development package installed? That
file is included from hildonmm/button.h, and so SizeType should be
defined. Are you using pkg-config to set the include paths and
linker flags for your project?


Yes, I have included these appropriately (to my judgement, at least).
Compiler flags that I have used are given by pkg-config:

% pkg-config --cflags hildonmm
-DMAEMO_CHANGES -DMAEMO_GTK -I/usr/include/hildonmm
-I/usr/lib/hildonmm/include -I/usr/include/gtkmm-2.4
-I/usr/lib/gtkmm-2.4/include -I/usr/include/hildon-1
-I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include
-I/usr/include/giomm-2.4 -I/usr/lib/giomm-2.4/include
-I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include
-I/usr/include/pangomm-1.4 -I/usr/include/gtk-2.0
-I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/lib/gtk-2.0/include -I/usr/include/cairomm-1.0
-I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/atk-1.0

OK, that looks fine, and matches with the output that I have. Can you
check that GTKMM_MAEMO_EXTENSIONS_ENABLED is defined in
usr/lib/gtkmm-2.4/include/gtkmmconfig.h ? Also, which version of gtkmm
is this?


Yes, extensions are enabled, version info is:

% pkg-config gtkmm-2.4 --modversion
2.14.4

If you run:

cpp /usr/include/hildonmm/hildonmm/button.h `pkg-config --cflags hildonmm`

and check the output, do you see the definition of SizeType before it is
used in the Hildon::Button constructors? This works fine for me, and if
it works fine for you then there may be a problem with the build system
of your project. Are you using autotools and PKG_CHECK_MODULES, maybe
pkg-config directly? It might be useful if you provide the simplest
possible buildable project, so that I can test it and see if I have the
same problem.


I'm using pkg-config and plain old Makefiles currently. The problem,
however, seemed to be an #include -cycle, which did not exist in my
Diablo-version build environment. Removing an #include <hildonmm.h> and
including only the necessary header files got me a bit further :)

OK, it is possible that there is an include order issue in hildonmm,
but it is quite difficult to tell without knowing the subtleties of
your build system, as that could equally well be the cause. Are you
able to post a Makefile so that I can test it?

You said that removing a hildonmm.h include got you further, but how
so? Do you still get the same issue with the SizeType define or is
there a different issue? You said that that was an include cycle, so
is there a missing include guard in hildonmm?

--
David King | http://amigadave.blogspot.com/ | davidk openismus com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]