当前位置: 技术问答>linux和unix
gtk+编译报错
来源: 互联网 发布时间:2017-02-12
本文导语: 用函数gtk_menu_item_set_use_underline设置快捷键时,使用Alt+下划线之后的字母实现。 当我在Visual Studio 2005中将代码写好,拷贝到Linux下,进行make时,出现了: undefined reference to `gtk_menu_item_set_use_underline'错误, 前提:源...
用函数gtk_menu_item_set_use_underline设置快捷键时,使用Alt+下划线之后的字母实现。
当我在Visual Studio 2005中将代码写好,拷贝到Linux下,进行make时,出现了:
undefined reference to `gtk_menu_item_set_use_underline'错误,
前提:源程序在VS2005下编译成功,而且运行良好。
刚才在http://developer.gnome.org/gtk/2.24/GtkMenuItem.html上看到了这样一段话:
gtk_menu_item_get_use_underline ()
gboolean gtk_menu_item_get_use_underline (GtkMenuItem *menu_item);
Checks if an underline in the text indicates the next character should be used for the mnemonic accelerator key.
menu_item : a GtkMenuItem
Returns : TRUE if an embedded underline in the label indicates the mnemonic accelerator key.
Since 2.16我的是Fedora10,昨天刚采用在线安装的方法安装成功。
是不是这个和我的gtk+版本有关系?怎么查看我现在使用的gtk+的版本?如果是版本的问题,那么在VS2005下也应该报错才对,这个什么原因?怎么解决?
注释掉那行代码后,就可以make成功,也可以运行出结果。menuItem = gtk_menu_item_new_with_label ("_File");
gtk_menu_item_set_use_underline (GTK_MENU_ITEM(menuItem), TRUE);
就是第二行的错。
注释到报错的那行代码后,编译就可以了。为什么gtk_menu_item_get_use_underline ()会报错呢?
当我在Visual Studio 2005中将代码写好,拷贝到Linux下,进行make时,出现了:
undefined reference to `gtk_menu_item_set_use_underline'错误,
前提:源程序在VS2005下编译成功,而且运行良好。
刚才在http://developer.gnome.org/gtk/2.24/GtkMenuItem.html上看到了这样一段话:
gtk_menu_item_get_use_underline ()
gboolean gtk_menu_item_get_use_underline (GtkMenuItem *menu_item);
Checks if an underline in the text indicates the next character should be used for the mnemonic accelerator key.
menu_item : a GtkMenuItem
Returns : TRUE if an embedded underline in the label indicates the mnemonic accelerator key.
Since 2.16我的是Fedora10,昨天刚采用在线安装的方法安装成功。
是不是这个和我的gtk+版本有关系?怎么查看我现在使用的gtk+的版本?如果是版本的问题,那么在VS2005下也应该报错才对,这个什么原因?怎么解决?
注释掉那行代码后,就可以make成功,也可以运行出结果。menuItem = gtk_menu_item_new_with_label ("_File");
gtk_menu_item_set_use_underline (GTK_MENU_ITEM(menuItem), TRUE);
就是第二行的错。
注释到报错的那行代码后,编译就可以了。为什么gtk_menu_item_get_use_underline ()会报错呢?
|
undefined reference to `gtk_menu_item_set_use_underline'错误,
一般来说是链接是没找到对应的库
看看你的编译选项,是不是指定了所有的库。
如果用的是pkgconfig应该不会出错,那么就剩下版本问题了。
查看gtk版本
pkg-config --modversion gtk+-2.0
如果没有pkgconfig,那就去gtk的lib目录看看后缀名就知道了
一般来说是链接是没找到对应的库
看看你的编译选项,是不是指定了所有的库。
如果用的是pkgconfig应该不会出错,那么就剩下版本问题了。
查看gtk版本
pkg-config --modversion gtk+-2.0
如果没有pkgconfig,那就去gtk的lib目录看看后缀名就知道了