C++ performs symbol mangling, which is why libglade could not find the
symbol.  If you look at the object file containing the function with nm,
you should see that the function name there is different.

To fix the problem, you will have to declare that your function should be
usable from C.  Something like:
  extern "C" void on_zoom_valeur_activate (GtkWidget * w, gpointer data);

This only limits what you can put in the argument list to C syntax (ie.
no default arguments or alternate implementations with different
argument lists) -- it doesn't limit you to only C syntax inside the
function body.  This will prevent the compiler from mangling the symbol
name.

James.

--
Email: [EMAIL PROTECTED]
WWW:   http://www.daa.com.au/~james/


On Sun, 12 Dec 1999, Hilaire Fernandes wrote:

> It's look like we can't autoconnect signal handler from C++ code. in
> the following code fragment :
> 
>   /* load the note book toolbar */
>   xmlWidget = glade_xml_new ("drgeo/icones/drgenius.glade", "drgeoToolBarNoteBook");
>   glade_xml_signal_autoconnect (xmlWidget);
> 
> this code fragment is from a class constructor and the function to connect is:
> 
> void on_zoom_valeur_activate (GtkWidget * w, gpointer data);
> 
> from the same source file.
> 
> At execuion of my application I got the following message :
> 
> ** WARNING **: could not find signal handler 'on_zoom_valeur_activate'.
> 
> Any ideas ? is related to the use of C++ ?
> 
> 
> Thanks
> 
> Hilaire
> 
> -- 
> Hilaire Fernandes 
> http://cran.mit.edu/~hilaire
> Dr Geo project http://www.drgeo.seul.org
> 
> +---------------------------------------------------------------------+
> To unsubscribe from this list, send a message to [EMAIL PROTECTED]
> with the line "unsubscribe glade-devel" in the body of the message.
> 


+---------------------------------------------------------------------+
To unsubscribe from this list, send a message to [EMAIL PROTECTED]
with the line "unsubscribe glade-devel" in the body of the message.

Reply via email to