Le samedi 08 décembre 2007 à 12:20 +0000, Robert Pearce a écrit :
> On Fri, 7 Dec 2007, [EMAIL PROTECTED] wrote :
> >They go away if I wrap the include directive in my program:
> >
> >extern "C"{
> >#include <gtk/gtk.h>
> >}
> >
> >But I think this wrap is supposed to be in the headers - the
> >other packages (ATK_, GTK_, PANGO_ etc.) work OK, using C linkage.
> 
> Yes, this wrapping is normally done in the headers, but because they are 
> fundamentally "C" headers and the wrapping is only valid in C++ it has 
> to be contained in a #ifdef. Though looking at the GTK headers, I think 
> this in turn is wrapped in magic ("G_BEGIN_DECLS"?)
> 
> Is it possible VC9 is not declaring the necessary symbol?

G_BENGIN_DECLS is defined in gmacros.h:

#ifdef  __cplusplus
# define G_BEGIN_DECLS  extern "C" {
# define G_END_DECLS    }
#else
# define G_BEGIN_DECLS
# define G_END_DECLS
#endif

__cplusplus should be defined automatically for c++ source files.

Regards,
Jean

_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to