Web lists-archives.com

Re: "Cannot finding signal handler" even after compiling with -rdynamic




Hi,

You shoud not have them static. The symbol is not exported. Otherwise
you need to get the widget from the GtkBuilder and set the signal from
you code and not from the glade file.

Hope this helps,
Jean

Le dimanche 17 janvier 2016 à 20:55 +0530, Jay Aurabind a écrit :
> Hi,
> 
> I am learning GTK programming. I am using glade to create a UI and
> then using GtkBuilder to show it.
> 
> When I run my application, it gives number errors regarding signal
> handlers:
> -------------------------------------------------------------------
> -----------------------------------------------
> (vaken_gtk:11467): Gtk-WARNING **: Could not find signal handler
> 'cb_ld_payload'.  Did you compile with -rdynamic?
> 
> (vaken_gtk:11467): Gtk-WARNING **: Could not find signal handler
> 'cb_loadkey'.  Did you compile with -rdynamic?
> 
> (vaken_gtk:11467): Gtk-WARNING **: Could not find signal handler
> 'cb_genkey'.  Did you compile with -rdynamic?
> -------------------------------------------------------------------
> -----------------------------------------------
> I have these functions in the same file. One of them look like:
> 
> 
> -------------------------------------------------------------------
> ---------------------
> static void cb_genkey(GtkWindow *wid,gpointer user_data)   {
>     printf("Hi\n");
> }
> -------------------------------------------------------------------
> ---------------------
> 
> I found some other posts in which people got the issue solved after
> putting proper compiler/linker flags. I am using Anjuta and tried a
> lot of combination for passing  "-rdynamic" and/or
> "-Wl,--export-dynamic". Yet my application always complain it cannot
> find the signal handler.
> 
> My make -n output (removing echo) is:
> -------------------------------------------------------------------
> -----------------------------------------------
> gcc -DHAVE_CONFIG_H -I. -I/home/aj/learning/c/gtk/vaken/src -I..
> -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\"
> -DPACKAGE_SRC_DIR=\""/home/aj/learning/c/gtk/vaken/src"\"
> -DPACKAGE_DATA_DIR=\""/usr/local/share/vaken_gtk"\" -pthread
> -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
> -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0
> -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0
> -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
> -I/usr/include/pango-1.0 -I/usr/include/harfbuzz
> -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
> -I/usr/include/pixman-1 -I/usr/include/freetype2
> -I/usr/include/libpng16 -I/usr/include/freetype2
> -I/usr/include/libdrm
> -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
> -I/usr/include/libpng16 -I/usr/include/glib-2.0
> -I/usr/lib64/glib-2.0/include   -Wl,--export-dynamic -rdynamic  -g
> -O0
> -MT vaken_gtk-main.o -MD -MP -MF .deps/vaken_gtk-main.Tpo -c -o
> vaken_gtk-main.o `test -f 'main.c' || echo
> '/home/aj/learning/c/gtk/vaken/src/'`main.c
> mv -f .deps/vaken_gtk-main.Tpo .deps/vaken_gtk-main.Po
> rm -f vaken_gtk
> 
> gcc -Wl,--export-dynamic -rdynamic  -g -O0   -o vaken_gtk
> vaken_gtk-main.o -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0
> -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0
> -lgobject-2.0 -lglib-2.0
> -------------------------------------------------------------------
> ----------------------------------------------
> 
> Still the application complains about missing signal handlers. Full C
> code at https://paste.gnome.org/pdg0iivsg
>  Glade UI file at https://paste.gnome.org/ppnpbtkid
> 
> Please help.
> 
_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-list