Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6276186
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类:

2012-11-07 05:28:59

原文地址:Ubuntu下面安装GTK+ 作者:hfm_honey

折腾了两个小时,终于把GTK+给安装上去了,真是有点汗颜!
刚开始装了卸,卸了再装,还是不行,网上搜资料,说是没有配置环境变量,开始怎么定位都不对,后来一弄居然好了~

 1.命令行安装命令:

   方法一:

   安装命令:

sudo apt-get install gnome-core-devel 

sudo apt-get install libglib2.0-doc libgtk2.0-doc

sudo apt-get install devhelp 

sudo apt-get install glade-gnome glade-common glade-doc

安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包。除此之外还要转一些其他的东西,如libglib2.0-doc、libgtk2.0-doc帮助文档,devhelp帮助文档查看,glade-gnome、glade-common、glade-doc图形界面设计等

   方法二:

   安装命令:

sudo apt-get install gnome-devel gnome-devel-docs   一条语句可以完成我们需要的所有的glib,gtk,帮助手册等资源。

2.设置环境变量 PKG_CONFIG_PATH

   安装完了之后,按理来说,我们可以使用测试程序对其进行相关功能测试了。但是这个时候肯定会报错。因为一个非常关键的环境变量我们还没有进行设置:

  PKG_CONFIG_PATH,这个环境变量中必须包含我们的 glib,pango,gthread的路径。

   1)首先我们更新软件数据库。updatedb(注意这一步很重要,要不你很可能定位不到需要的文件)

   2)定位gtk+-2.0.pc,pango.pc,pthread-stubs.pc的位置:locate gtk+-2.0.pc;locate pango.pc;locate pthread-stubs.pc (注意这儿可能是定位不到一些,没关系,我们只要不用后缀名,只把前面的文件名定位到也可以的)

   3)定义环境变量:

      结合前篇文章-—ubuntu中的环境变量。

     在本文中,我们给单一用户进行环境变量的设置,于是操作如下:

     打开当前用户的环境变量配置文件:vi ~/.bashrc

      在文件中添加: PKG_CONFIG_PATH =" path1:path2:path3 "

                                    export PATH


下面是一个测试程序:

gtktest.c程序

点击(此处)折叠或打开

  1. //Helloworld.c
  2. #include <gtk/gtk.h>

  3. int main(int argc,char *argv[])
  4. {
  5.     GtkWidget *window;
  6.     GtkWidget *label;
  7.     
  8.     gtk_init(&argc,&argv);
  9.     
  10.     /* create the main, top level, window */
  11.     window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  12.     
  13.     /* give it the title */
  14.     gtk_window_set_title(GTK_WINDOW(window),"Hello World");
  15.     
  16.     /* connect the destroy signal of the window to gtk_main_quit
  17.      * when the window is about to be destroyed we get a notification and
  18.      * stop the main GTK+ loop
  19.      */
  20.     g_signal_connect(window,"destroy",G_CALLBACK(gtk_main_quit),NULL);
  21.     
  22.     /* create the "Hello, World" label */
  23.     label = gtk_label_new("Hello, World");
  24.     
  25.     /* and insert it into the main window */
  26.     gtk_container_add(GTK_CONTAINER(window),label);
  27.     
  28.     /* make sure that everything, window and label, are visible */
  29.     gtk_widget_show_all(window);
  30.     
  31.     /* start the main loop, and let it rest until the application is closed */
  32.     gtk_main();
  33.     
  34.     return 0;
  35. }
编译运行:

$ gcc `pkg-config --cflags --libs gtk+-2.0` gtktest.c -o gtktest $ ./gtktest注意:‘ ’符号不是我们的单引号,而是Esc按键下面的那个按键,很容易出错

会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示Hello world!

阅读(528) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~