1. GTK的安装
#这将安装gcc/g++/gdb/make 等基本编程工具
sudo apt-get install build-essential
#这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件
sudo apt-get install gnome-core-devel
#用于在编译GTK程序时自动找出头文件及库文件位置
sudo apt-get install pkg-config
#这将安装 devhelp GTK文档查看程序
sudo apt-get install devhelp
#这将安装 gtk/glib 的API参考手册及其它帮助文档
sudo apt-get install libglib2.0-doc libgtk2.0-doc
#这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库
sudo apt-get instal glade libglade2-dev
2. 测试中的问题
在网上找一个用GTK编写的很简单的Hello World的源码,编译发现报错,错误如下:
stanwh@stanwh-ubuntu:~$ gcc -g -Wall gtkhello.c -o gtkhello
gtkhello.c:1: fatal error: gtk/gtk.h: 没有那个文件或目录
compilation terminated.
请注意之前我们安装的pkg-config,它是一个用来管理包的程序,在终端执行以下语句:
stanwh@stanwh-ubuntu:~$ pkg-config --cflags --libs gtk+-2.0
输出结果如下:
-pthread -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/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng12 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
可以看出,输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。
所以以上问题的解决方法是按照如下修改gcc编译语句(蓝色部分是必须添加的,注意前后的 ` ):
stanwh@stanwh-ubuntu:~$ gcc -g -Wall gtkhello.c -o gtkhello [color=blue]`pkg-config gtk+-2.0 --cflags --libs`[/color]
stanwh@stanwh-ubuntu:~$ ./gtkhello
Hello World
编译和执行都OK。
以上转自CSDN,以下是自己使用Geany作为IDE开发时的配置:(位置在 生成--设置生成命令)
[img]http://dl.iteye.com/upload/attachment/519791/bac8f149-7c8a-36e4-b011-a54802e4bf2a.jpg[/img]
将以上蓝色部分附加的编译、生成命令之后
#这将安装gcc/g++/gdb/make 等基本编程工具
sudo apt-get install build-essential
#这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件
sudo apt-get install gnome-core-devel
#用于在编译GTK程序时自动找出头文件及库文件位置
sudo apt-get install pkg-config
#这将安装 devhelp GTK文档查看程序
sudo apt-get install devhelp
#这将安装 gtk/glib 的API参考手册及其它帮助文档
sudo apt-get install libglib2.0-doc libgtk2.0-doc
#这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库
sudo apt-get instal glade libglade2-dev
2. 测试中的问题
在网上找一个用GTK编写的很简单的Hello World的源码,编译发现报错,错误如下:
stanwh@stanwh-ubuntu:~$ gcc -g -Wall gtkhello.c -o gtkhello
gtkhello.c:1: fatal error: gtk/gtk.h: 没有那个文件或目录
compilation terminated.
请注意之前我们安装的pkg-config,它是一个用来管理包的程序,在终端执行以下语句:
stanwh@stanwh-ubuntu:~$ pkg-config --cflags --libs gtk+-2.0
输出结果如下:
-pthread -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/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng12 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
可以看出,输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。
所以以上问题的解决方法是按照如下修改gcc编译语句(蓝色部分是必须添加的,注意前后的 ` ):
stanwh@stanwh-ubuntu:~$ gcc -g -Wall gtkhello.c -o gtkhello [color=blue]`pkg-config gtk+-2.0 --cflags --libs`[/color]
stanwh@stanwh-ubuntu:~$ ./gtkhello
Hello World
编译和执行都OK。
以上转自CSDN,以下是自己使用Geany作为IDE开发时的配置:(位置在 生成--设置生成命令)
[img]http://dl.iteye.com/upload/attachment/519791/bac8f149-7c8a-36e4-b011-a54802e4bf2a.jpg[/img]
将以上蓝色部分附加的编译、生成命令之后