Hello GTK
来源:互联网 发布:ipad无法加入公共网络 编辑:程序博客网 时间:2024/05/30 02:25
本文说明如何在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 与他联系。
- Hello GTK
- gtk编程Hello World
- GTK+2.0 之 hello world
- 从这里开始(Hello GTK)
- GTK+-2.0 Hello World autotools版
- Hello Gtk+ in Linux Assembly Language
- 学习使用GTK+ 2.GTK+“Hello World”——对GTK+运作机制的通俗介绍
- GTK+ 2.0 教程--编译 Hello World 程序
- GTK+ 2.0 教程--Hello World 详解
- GTK+ 2.0 教程--改进了的 Hello World
- 编译 Hello World 程序@GTK+ 2.0 中文教程连载
- Hello World 详解@GTK+ 2.0 中文教程连载
- 改进了的 Hello World@GTK+ 2.0 中文教程连载
- python-gtk-3-tutorial(2)--"Print hello world"
- GTK3学习笔记2 Hello World in GTK+
- 使用GTK编写的hello world小程序
- GTK+ 2.0 教程--用 GTK 来写 Hello World
- gtk
- 使用ASP.NET 2.0 Profile存储用户信息_2[翻译]
- 性能测试(并发负载压力)测试分析-简要篇
- C#在客戶端和服務端操作Excel文件
- java不规则窗体的构建
- ASP.NET程序中常用的三十三种代码
- Hello GTK
- 参数化模块库(LPM)的使用
- 如何做好项目经理
- Asp.NET开发笔记--文本框的数据绑定与操作
- [转]数据库设计经验谈
- 关于配置支持JFreeChart的Tomcat[转]
- string.chars属性
- 數據導入,導出大全
- Asp.net页面之间传递参数的几种方法