libglade-WARNING **: could not find signal handler 'on_exit_clicked'.

时间:2022-10-28 00:11:44

解决方案1:

  在GCC编译命令中加入-export-dynamic,如:  

gcc test.c callbacks.c -o test `pkg-config --libs --cflags libglade-2.0 ` -export-dynamic

  

解决方案2:

  在GCC编译命令中使用pkg-config加入库gmodule-export-2.0,如:

gcc test.c callbacks.c -o test `pkg-config --libs --cflags libglade-2.0 gmodule-export-2.0`

  

问题原因,以下是libglade说明里的一段原话。

Note
If you wish to autoconnect handlers defined in the main executable (not a shared library), you will need to pass a linker flag to export the executable's symbols for dynamic linking. This flag is platform specific, but libtool can take care of this for you. Just add -export-dynamic argument to your link flags, and libtool will convert it to the correct format.
The easiest way to get the correct extra flags is to check for gmodule-export-2.0 with pkg-config.