Reference 未定义对“gtk”菜单、栏、附加和x27的引用;

Reference 未定义对“gtk”菜单、栏、附加和x27的引用;,reference,compiler-errors,gtk,undefined,gtk3,Reference,Compiler Errors,Gtk,Undefined,Gtk3,我想用以下代码在GTK中定义一个下拉列表菜单: GtkWidget *menu = gtk_menu_bar_new(); GtkWidget *menuitem = gtk_menu_item_new_with_label ("[Default Locale]"); gtk_menu_bar_append (GTK_MENU_BAR(menu), menuitem); 但我得到以下错误: 未定义对“gtk\u菜单\u栏\u附加”的引用 collect2:ld返回了1个退出状态 我不想使用gt

我想用以下代码在GTK中定义一个下拉列表菜单:

GtkWidget *menu = gtk_menu_bar_new();
GtkWidget *menuitem = gtk_menu_item_new_with_label ("[Default Locale]");
gtk_menu_bar_append (GTK_MENU_BAR(menu), menuitem);
但我得到以下错误: 未定义对“gtk\u菜单\u栏\u附加”的引用 collect2:ld返回了1个退出状态


我不想使用gtk_menu_shell_append。我该怎么办

如果您阅读了Gtk3中没有这样的函数。GtkMenuBar源于GtkMenuShell,因此您应该使用gtk_菜单_shell_append。

如何编译和链接您的程序?您是否使用IDE或
Makefile
来定义
GTK\u DISABLE\u DEPRECATED
?我使用以下行:gcc test.c-o test
pkg config--cflags--libs GTK+-3.0
啊,不清楚您使用的是GTK 3。请参阅Phili Wood的答案。为了澄清user48和Phil的答案,问题在于GTK2与GTK3版本的问题。GTK2使用gtk_菜单_栏_追加,而GTK3使用gtk_菜单_外壳_追加。