GTK 安装与测试

来源:互联网 发布:深圳网络统考英语 编辑:程序博客网 时间:2024/05/19 05:01

下面是自己在进行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

 

希望对大家有帮助。。。。。。。。。。。。。。。。

原创粉丝点击