下面是自己在进行GTK测试的时候在网上找到的别人的资料,但是自己运行时遇到了一点小问题
Fedora环境下Gtk+开发环境配置
————————————————————————————————
1、安装必要组建:(在root权限下)yum install gtk2 gtk2-devel gtk2-devel-docs
2、可能还需要组建(可选,不行再装):yum install gnome-devel gnome-devel-docs
3、编写测试程序:
#include < gtk / gtk.h > void hello(GtkWidget * widget,gpointer data) { g_print( " Hello Ubuntu!\n " ); } gint delete_event(GtkWidget * widget,GdkEvent * event ,gpointer data) { g_print ( " delete event occurred\n " ); return (TRUE); } void destroy(GtkWidget * widget,gpointer data) { gtk_main_quit(); } int main( int argc, char * argv[] ) { GtkWidget * window; GtkWidget * button; gtk_init ( & argc, & argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_signal_connect (GTK_OBJECT(window), " delete_event " ,GTK_SIGNAL_FUNC(delete_event),NULL); gtk_signal_connect (GTK_OBJECT (window), " destroy " ,GTK_SIGNAL_FUNC (destroy), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10 ); button = gtk_button_new_with_label ( " Hello Ubuntu! " ); gtk_signal_connect (GTK_OBJECT (button), " clicked " ,GTK_SIGNAL_FUNC (hello), NULL); gtk_signal_connect_object (GTK_OBJECT (button), " clicked " ,GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window)); gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (button); gtk_widget_show (window); /* 显示一个窗口 */ gtk_main(); /* 进入主循环 */ return ( 0 ); }
4、编译程序:
终端命令:
$ gcc `pkg - config -- cflags -- libs gtk +- 2.0 ` gtktest.c - o gtktest $ . / gtktest
5、看到一个带有hello world按钮的小窗口就表示安装成功了!
在进行上面的测试时候应注意下面一些问题:
执行编译:
$ gcc 'pkg-config --cflags --libs gtk+-2.0' -o gtkbase gtkbase.c
出现错误:
gcc: pkg-config --cflags --libs gtk+-2.0:No such file or directory
gtkbase.c:1:21: 错误: gtk/gtk.h:No such file or directory
gtkbase.c: 在函数 ‘main’ 中:
gtkbase.c:5: 错误: ‘GtkWidget’ 未声明 (在此函数内第一次使用)
gtkbase.c:5: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
gtkbase.c:5: 错误: 所在的函数内只报告一次。)
gtkbase.c:5: 错误: ‘wnd’ 未声明 (在此函数内第一次使用)
gtkbase.c:8: 错误: ‘GTK_WINDOW_TOPLEVEL’ 未声明 (在此函数内第一次使用)
查阅了许久才发现是自己输入的错误,原来不是单引号('),而应该是倒引号(`)
(键盘左上角 ESC 下方键)
纠正编译命令为:
$ gcc `pkg-config --cflags --libs gtk+-2.0` -o gtkbase gtkbase.c
希望对大家有帮助。。。。。。。。。。。。。。。。