我知道这个问题已经回答了好几次,我已经尝试了每一个,但仍然找不到确切的解决方案。我开始使用 Glade 用户界面学习 GTK + 3.0。我知道 Glade 将为设计生成 XML,并且可以在我们的 c/cpp 程序中使用相同的 XML。但是要执行该程序,必须安装所有库或者必须将路径设置为 IDE 中的库。每当我尝试构建程序时,我都会使用 Anjuta IDE 来开发该程序,但会出现以下错误。
gtk/gtk.h: No such file or directory
程序代码
#include <gtk/gtk.h>!
#include <glade/glade.h>
void
ok_button_clicked (GtkWidget *widget, gpointer user_data)
{
printf ("Thanks for trying out my program.\n");
gtk_main_quit ();
}
int main (int argc, char *argv[])
{
GladeXML *main_window;
GtkWidget *widget;
gtk_init (&argc, &argv);
/* load the interface */
main_window = glade_xml_new ("example-1.glade", NULL, NULL);
/* connect the signals in the interface */
/* Have the ok button call the ok_button_clicked callback */
widget = glade_xml_get_widget (main_window, "OKButton");
g_signal_connect (G_OBJECT (widget), "clicked",
G_CALLBACK (ok_button_clicked),
NULL);
/* Have the delete event (window close) end the program */
widget = glade_xml_get_widget (main_window, "MainWindow");
g_signal_connect (G_OBJECT (widget), "delete_event",
G_CALLBACK (gtk_main_quit), NULL);
/* start the event loop */
gtk_main ();
return 0;
}
每当我尝试添加 Lib 或 External Lib 时,我都无法添加gtk/gtk.h
文件,相同的文件已经存在/usr/include/gtk-3.0/gtk/gtk.h
并且当我尝试在libanjuta
相同的代码中复制相同的文件时仍然出现相同的错误,任何帮助将不胜感激朋友,我很难执行程序..
感谢 Amul Bhatia
如果你只是想编译它并运行而不是制作一个makefile
将此文件保存在您的foobar.c文件旁边的链接中, 作为example-1.glade
https://github.com/interval1066/XFC/blob/master/examples/glade/example-1/example-1.glade
并打开终端并切换到包含foobar.c和example-1.glade 的目录 并发出此行
并运行二进制文件
或者如果你坚持用 makefile 编译它,用这个替换你的 makefile
我在我的系统中测试了上面的指令,它有效。