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



On 17 January 2016 at 21:01, Jean Bréfort <jean brefort normalesup org> wrote:
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


Thank you very much Jean! That solved the issue!  :-)

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 gnome org
https://mail.gnome.org/mailman/listinfo/gtk-list



-- 

Thanks and Regards,
Aurabindo J


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