免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3065 | 回复: 2
打印 上一主题 下一主题

Hello GTK [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-11 16:07 |只看该作者 |倒序浏览
本文说明如何在Linux(Ubuntu)上使用GTK创建一个简单的GTK应用程序。
级别:初级

1.安装X11开发工具包:

     apt-get install libx11-dev xlibs-dev

2.安装GTK开发工具包:

  apt-get install libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtk2.0-dev libgtk2.0-doc gtk-doc-tools

完成这两步之后,你的机器上已经有了GTK的开发环境了。 到ftp://ftp.gtk.org/pub/gtk下下载gtk+-2.10.13.tar.gz  (gtk的源码包,主要是为了他里面含有samples),你可以不编译这个源码包,在他的examples目录里含有一些有用的sample。你可以编译来研究。

3. pkg-config
  这个工具可以用来生成编译GTK时需要的头文件的包含路径,可以在CLI(Command Line Interface,命令行界面)里执行:

pkg-config gtk+-2.0 --cflags --libs

输出如下:

-I/usr/local/include/libpng12 -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  -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  

这是笔者本机的配置,你的机器可能和笔者的不一致,但是用此命令你就不会因为找不到GTK的头文件和依赖库的烦恼了。

4.一个简单的GTK程序


#include <gtk/gtk.h>

int main( int   argc,
          char *argv[] )
{
    GtkWidget *window;
   
    gtk_init (&argc, &argv);
   
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_widget_show  (window);
   
    gtk_main ();
   
    return 0;
}


将此代码保存为main.c文件。

5.一个简单的Makefile:


CC = gcc

CFLAGS = -Wall                                 \
        -DG_DISABLE_DEPRECATED                  \
        -DGDK_DISABLE_DEPRECATED         \
        -DGDK_PIXBUF_DISABLE_DEPRECATED \
        -DGTK_DISABLE_DEPRECATED

HelloGtk: main.c
        $(CC) main.c -o HelloGtk $(CFLAGS) `pkg-config gtk+-2.0 --cflags --libs`

clean:
        rm -f *.o HelloGtk

将此代码保存为Makefile

6.运行

  在CLI里面执行
  $ make
  $ ./HelloGtk

看到窗口了吗!(此程序必须在X11环境下运行)

转载请保留出处: http://www.usenix.cn/index.php/archives/8

关于作者:

  尹曙光,计算机技术工作者、爱好者,致力于操作系统、编译器和嵌入式的研发,偶尔也玩一玩Java,可以通过 kevdmx@126.com 与他联系。

论坛徽章:
0
2 [报告]
发表于 2007-10-20 17:52 |只看该作者
我想要详细的教程!~

论坛徽章:
0
3 [报告]
发表于 2007-10-23 07:09 |只看该作者
程序可以编译执行,就是一个关不掉的小窗口。但makefile好像有问题,能给解释一下吗?

用gcc命令已经编译出来了,但make的时候提示GTK/GTK.h不存在。



呵呵,不好意思,这个问题不存在,是别的问题。main.c和makefile都能通过编译,只是窗口关不掉。

[ 本帖最后由 freesky3555 于 2007-10-24 07:29 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP