Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1935106
  • 博文数量: 383
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 4061
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-24 18:53
文章分类

全部博文(383)

文章存档

2011年(1)

2010年(9)

2009年(276)

2008年(97)

我的朋友

分类: LINUX

2009-03-11 16:29:43

apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具

apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置

apt-get install devhelp #这将安装 devhelp GTK文档查看程序

apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档

apt-get install glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库。

apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕。

应用程序编译命令:gcc test.c `pkg-config --cflags --libs gtk+-2.0`,编译通过,运行正常。

pkg-config是一个用来管理包的程序,在控制台输入 pkg-config --cflags --libs gtk+-2.0,可以发现输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。

这里有一点需要注意, gcc test.c `pkg-config --cflags --libs gtk+-2.0`, pkg-config --cflags --libs gtk+-2.0两侧的引号并不是真正的引号,而是键盘数字件那一行,最左边的那个字符。如果错用了单引号,gcc无法使用 pkg-config --cflags --libs gtk+-2.0产生的文本作为编译选项。构造程序。

安装完成后我们也同样做个测试程序

代码:

#include
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);
}


用下面命令编译运行
代码:

$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
$ ./gtktest
阅读(1322) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~