rabotin wrote: > It seems that grass/gis.h and the libgilbmm librarys declare a structure > with the same name: GModule. > As I am steel a newbie in C and C++ developments, I don't really know > how to solve this problem.
It might work to use e.g.: #define GModule GRASS_GModule #include <grass/gis.h> #include <grass/Vect.h> #include <grass/dbmi.h> #include <grass/glocale.h> #undef GModule You'll need to use GRASS_GModule when declaring the variable to hold the pointer returned from G_define_module(). Note that you can't do it the other way around (change the name used by glibmm) because type names are embedded in external symbols which have C++ linkage. I was going to suggest that gtkmm should be using C++ namespaces, but it already does; GModule comes from glib itself. I'm guessing that GRASS uses GModule because Module caused a conflict sometime in the past (Flag and Option aren't called GFlag or GOption). The "G" prefix is a bit unfortunate really, given how many libraries use it (usually from GNU; e.g. GNU Image Manipulation Program (GIMP) -> GIMP ToolKit (GTK) -> gtk/gdk/glib -> gtkmm/glibmm). -- Glynn Clements <gl...@gclements.plus.com> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev