Web lists-archives.com

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




On 17 January 2016 at 21:01, Jean Bréfort <jean.brefort@xxxxxxxxxxxxxx> 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@xxxxxxxxx
> https://mail.gnome.org/mailman/listinfo/gtk-list



-- 

Thanks and Regards,
Aurabindo J
_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-list