【发布时间】:2010-05-23 05:08:03
【问题描述】:
我尝试在 Anjuta IDE 中编译简单的 gtk+ 应用程序。应用程序是一个简单的窗口:
# include <gtk/gtk.h>
int main( int argc, char *argv[])
{
GtkWidget *label;
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Здравствуй, мир!");
label = gtk_label_new("Здравствуй, мир!");
gtk_container_add(GTK_CONTAINER(window), label);
gtk_widget_show_all(window);
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_main();
return 0;
}
在 make 文件中我有:
GTK_CFLAGS = -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pixman-1
GTK_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
但是当我尝试编译项目时看到错误:gtk/gtk.h - 没有这样的文件或目录
谢谢。
【问题讨论】:
-
在 makefile 中你确实有更多的只是,对吧?
-
那么,您的系统上是否有 gtk/gtk.h?如果是这样,你没有正确指向它。如果没有,你需要安装它。
-
我不太明白。是的,当然在项目中不仅仅是makefile。 makefile 很大,它生成了 gnu/autotools
-
错误来自编译器还是make?我怀疑后者,并且您有一个依赖于 gtk/gtk.h 的目标,并且 make 不知道如何获取或制作它。准确的错误文本会有所帮助。
-
为什么不使用 Vala [live.gnome.org/Vala]?它比 C++ 简单得多,您可以在 Anjunta 中使用它。
标签: gtk