博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GTK+Glade3 Gtk-WARNING **: Could not find signal handler 问题最终解析
阅读量:6991 次
发布时间:2019-06-27

本文共 823 字,大约阅读时间需要 2 分钟。

GTK + 使用 Glade3 编程时,调用自动信号连接

    gtk_builder_connect_signals();

编译时不出现任何问题,但是运行时提示

Gtk-WARNING **: Could not find signal handle

可能产生的原因:

Windows 平台:

1)callback 函数没加 G_MODULE_EXPORT

宏定义如下:

    #ifdef G_PLATFORM_WIN32

    #  define    G_MODULE_EXPORT       __declspec(dllexport)
    #else /* !G_PLATFORM_WIN32 */
    #  define    G_MODULE_EXPORT
    #endif /* !G_PLATFORM_WIN32 */

2)编译选项加 -export-dynamic

Linux 平台:

1)忘加编译选项 -export-dynamic

2)如果使用 C++ 编译器,由于C++ 有名字粉碎(C++ symbol mangling), GTK+是C程序,需使用c风格的回调函数

     函数声明前加上 extern “C”   或者使用 extern "C" { ......................}

3)当然 修改G_MODULE_EXPORT 的宏定义,在回调函数定义前加G_MODULE_EXPORT宏也可以

    #ifdef G_PLATFORM_WIN32

    #  define    G_MODULE_EXPORT  __declspec(dllexport)
    #else /* !G_PLATFORM_WIN32 */
    #  define    G_MODULE_EXPORT  extern "C"
    #endif /* !G_PLATFORM_WIN32 */

转载于:https://www.cnblogs.com/gcssys/archive/2013/03/19/3790313.html

你可能感兴趣的文章
JBoss配置使项目能在局域网其他机子上访问项目
查看>>
VIO概述 On-Manifold Preintegration for Real-Time Visual--Inertial Odometry
查看>>
CocoaPods升级安装三方库报错
查看>>
SpringBoot整合RabbitMQ实现微服务间的异步消息沟通
查看>>
pku1338 Ugly Numbers
查看>>
程序算法与人生选择 分类: 转载收藏 2013...
查看>>
牛客网校招全国统一模拟笔试(三月场)- Java方向
查看>>
Apache主站点配置
查看>>
[转]蓝牙开发
查看>>
C语言程序举例
查看>>
$.param()的实例应用
查看>>
web安全:xss && csrf
查看>>
数据保存(永久保存)方式
查看>>
POJ 3320 尺取法(基础题)
查看>>
如何使表格中的文字不换行?多出的字用“..."代替
查看>>
c# 进程间通信
查看>>
Word Ladder
查看>>
ZigZag Conversion
查看>>
Hive启动报找不到hadoop版本问题
查看>>
3.23
查看>>