使用Eclipse进行GTK+编程
Eclipse综述
Eclipse是一款优秀的开源IDE,现在已经发展成为一个万能开发平台,支持所有主流编程语言,Windows、Linux都可以使用
其主要特色在于能在编码过程中给出代码提示,对于虚拟机语言还能及时检错,是开发Java、Python和Ruby的利器,同时也是进行Web开发不可多得的工具
Eclipse同样可以用来开发C/C++应用,只要安装一个CDT插件即可
下面讲解使用Eclipse开发GTK+程序的配置过程
工具版本
本文假设你已经安装好了Eclipse以及CDT插件,并搭建好了GTK+开发环境(GTK+开发环境的搭建,请查阅《GTK+程序设计入门》)
下面是我使用的工具和版本,以作对照:
OS:Windows XP
Eclipse:3.7.0
GCC:4.5.2(MinGW)
GTK+:2.16.2(glade3-3.6.7-with-GTK+)
Step 01
打开Dos命令行,依次执行下面这三条命令
pkg-config --cflags gtk+-2.0 > include.txt
pkg-config --libs gtk+-2.0 > libs.txt
在你的D盘根目录下面会生成两个.txt文件,现在先不管, 我们待会会用到它们
Step 02
启动Eclipse,新建一个C Project,命名为GTK+(具体名字自定)
Step 03
在新建好的这个GTK+项目上面右击,在所弹出选项的最下面有一个名叫Properties的选项,点击选中
Step 04
Eclipse会弹出这个项目的设置窗口,点选最左侧的C/C++ General,再点选Paths and Symbols
Step 05
在右侧的Includes选项条下面点选GNU C,然后点最右侧的Add...按钮逐个添加GTK+的包含文件路径
注意:每次添加都要勾上Add to all configurations选项
路径怎么填呢?打开我们在第1步生成的include.txt文件,里面就包含了所有我们所需的路径,共有如下几个(具体路径随你的GTK+安装路径而定)
C:/GTK/include/gtk-2.0
C:/GTK/lib/gtk-2.0/include
C:/GTK/include/atk-1.0
C:/GTK/include/cairo
C:/GTK/include/pango-1.0
C:/GTK/include/glib-2.0
C:/GTK/lib/glib-2.0/include
C:/GTK/include/libpng12
好了,包含文件路径设置完成,下面设置链接库路径
Step 06
还是在刚才的Paths and Symbols窗口,点选中部的Library Paths,然后点最右侧的Add...按钮添加GTK+的链接库路径
添加时同样需要勾上Add to all configurations选项
你应该已经猜到路径信息该怎么找了。没错,打开第1步生成的libs.txt文件,对照着添加以下路径信息(只有一条)
C:/GTK/lib
这一步还只完成了链接库路径的指定,但还没有指定具体的链接库名字
Step 07
在Paths and Symbols窗口,点选中部的Libraries,然后点最右侧的Add...按钮逐个添加GTK+链接库
同样的,添加时不要忘了勾上Add to all configurations选项哦
打开第1步生成的libs.txt文件,逐个添加以下库名
gtk-win32-2.0
gdk-win32-2.0
atk-1.0
gio-2.0
gdk_pixbuf-2.0
pangowin32-1.0
gdi32
pangocairo-1.0
pango-1.0
cairo
gobject-2.0
gmodule-2.0
glib-2.0
intl
到这儿设置告一段落,下面进行编译选项的设置
Step 08
点选最左侧的C/C++ Build选项,再点选Settings
Step 09
将最上面的Configuration项选成Debug,然后选中下面的Tool Settings选项条
Step 10
选中Tool Settings选项条下左侧的GCC C Compiler,然后将其右侧的Command选中改填为gcc -mms-bitfields
Step 11
将最上面的Configuration项选成Release,然后重复第10步的设置,完成后点击最下面的OK按钮确定并退出设置
至此,整个Eclipse的GTK+开发环境就配置完成了
配置总结
整个过程看起来似乎很复杂,其实一点都不复杂,下面用简约的方式复述下配置步骤:
使用pkg-config命令得到GTK+的路径信息
打开工程的设置窗口
添加GTK+的包含文件路径、链接库路径、链接库
针对Debug和Release两个不同的模式分别设置GCC的编译选项
后记
推荐使用 GCC + Make + Vim 的方式开发GTK+应用(这也是我的开发方式)
但如果用惯了IDE,或者不习惯使用命令行,那就可以考虑GCC + Eclipse
下面提供一个编译GTK+ 2.x的通用Makefile,3.x只需将gtk+-2.0换成gtk+-3.0即可
GTK_FLAGS = $(shell pkg-config --cflags --libs gtk+-2.0)
all:
gcc -Wall -std=c99 -o app *.c ${GTK_FLAGS}
注意,Makefile直接从网页复制将可能无法正常执行,所以你最好是照着自己敲出来,all:下面那一行最前面的空白是一个Tab,而不是空格