2005-4-22 GNU/Linux, �件技�g
GNU/UNIX 下面有大量的有意思的工具使用,而且功能强大,其中之一就是强大的GNU编译器GCC (GNU Compilers Collection),它包含有多个编译器。GTK+是Gnome环境下标准的图形库,也是一个比较强大的开发集,GTKMM则是GTK+的C++包 装,可以使用标准的C++来开发Linux下的图形界面程序。
那么本文将介绍这几个开发环境如何在Windows下使用,好东西嘛,那就是应该在多个平台下都可以使用。
一、安装编译器GCC
在windows下使用GCC,我比较欣赏使用MingW,它安装也比较方便,主页地址在http://mingw.sf.net, 可以直接下载安装包进行安装,目前最新版是3.4.2,可以在下载界面下载该版本的所有bin版文件,下载到一个目录比如D:\MingW下后,然后将他 们解压到当前目录下,这样大概的环境就可以了,然后安装一个MSYS和MSYS Developer Tool Kit,直接下载安装包,并且安装到D:\MingW目录下即可,然后设置环境变量,在WinXP下是右键点击“我的电脑”,打开“属性”,然后选取“高 级”下的“环境变量”,在下面有个变量PATH,在它的值最前面加上“D:\MingW\bin;”就可以了,记着PATH变量的值是用分号隔开的。
还有就是make.exe需要另外安装,也是只要下载安装文件即可,它安装的的是mingw32-make.exe,把它改名成make.exe即可。
现在可以试着编译一个小的C/C++程序测试一下你的GCC是否工作正常?
二、安装GTK+
这个安装则是非常简单,在http://gladewin32.sourceforge.net/上下载gtk+-win32-devel 就行了,它包含有GTK+的整个开发库,还有Glade以及GTK+在Win32下的运行库。
下载完毕之后安装,默认是安装在C:\GTK下,当然你可以选择一个另外的地方。
三、安装GTKMM
同上面一样这个安装也简单,在http://www.pcpm.ucl.ac.be/~gustin/win32_ports/下载gtkmm-devel-2.6.1-1.exe,然后安装,这个最好安装在GTK+的同一个目录下。
四、测试一个简单的gtkmm程序
源码test.cc:
#include <gtkmm .h>再取一下编译环境变量$LIBS:
C:\>pkg-config gtkmm-2.4 –cflags –libs最好编一个Makefile
# Test.cc Makefile然后make一下,没有其他差错的话就会产生一个test.exe,看一下是否可以正确运行。
这里。
如果英文还可以的,到GTK的老巢看看说明就行了。
好,和我差不多的看官,下面开始介绍,以2.1x为例,其他的版本请自行到GTK的老巢翻找
总共需要:gtk以及其支持库,unixutils(make程序),gcc for windows(MinGW),后面两个不介绍了,自己找资料,下载后记得加入系统的PATH变量里
0. 打开gtk的下载页面:http://www.gtk.org/download/
1. hoho,有3个ftp链接,分别是:、、
2. 首先用ftp工具(没有的话下载一个filezilla看看)匿名登录GTK+ Source所在的那个ftp地址: (限制连接数,请勿用ie打开)
3. 因为是windows系统,windows现在的主流还是win32,进入win32目录
4. 对,你看到了一堆的东西,包括cario / cairo-dev / gtk+ / gtk+-dev,各找个最新的下载下来
5. 然后,进入dependencies目录,霍霍,这里更多
6. 别客气,里面的atk / atk-dev / gettext / gettext-dev / libiconv / libjpeg / libpng / libtiff / libxml2 / pkg-config / zlib123-dll,捡最新的都下载下来吧
7. 好了,现在重复2-6,下载Pango和GLib所在的ftp目录下的win32及win32\depenencies目录下的东东,记住三个关键字:win32, dependencies, 还有“最新”的, “-dev” 也不放过
8. 好了好了,真的好了,把这些下载的文件全部解压到一个目录下,比如d:\system\gtkplus目录
9. 还差一点点就可以开始了,别忘了我们最终编写的程序还要有运行时支持,就像MFC也有mfcxxx.dll一样,gtk+需要GTK+运行库的支持,懒一点儿的下载这个(如果还有效的话),想稳定的到这里去找找下载吧:http://sourceforge.net/projects/gimp-win/,嫌太慢的话就搜搜google
10. 好,下载并安装完gtk+runtime(我用的是gtk+-2.10.13-setup.exe)以后,开始编写Hello world
————————编写Hello World健体强国,Oh Yeah! 分割线————————
1. 首先写个hello.c,里面的内容是
下载: hello.c#include <gtk/gtk.h>(为了缩短篇幅删去了所有注释和空行,完整版本参见后面参考资料里面的内容)
2. 好的,为了简单起见,不依赖任何开发环境,咱来写个makefile
gtk_include=-IE:/system/gtkplus/include -IE:/system/gtkplus/lib/gtk-2.0/include -IE:/system/gtkplus/include/gtk-2.0 -IE:/system/gtkplus/include/atk-1.0 -IE:/system/gtkplus/include/pango-1.0 -IE:/system/gtkplus/include/glib-2.0 -IE:/system/gtkplus/include/cairo -IE:/system/gtkplus/lib/glib-2.0/include
gtk_lib=-LE:/system/gtkplus/lib -lcairo -lintl -lgettextpo -lglib-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lgdk_pixbuf-2.0 -lgdk-win32-2.0 -lgtk-win32-2.0 -lcharset -liconv -lpango-1.0 -lpangoft2-1.0 -lpangowin32-1.0 -lpangocairo-1.0 -lzdll -latk-1.0
#target_dir=Debug
main: hello.c
gcc -mms-bitfields -Wall -g hello.c -o hello \
${gtk_include} ${gtk_lib}
all:
${MAKE} main
注意事项:
a). 这里我的目录是e:\system\gtkplus,你解压的目录可能不一样
b). “gtk_lib=” 后面的”L”后跟的是gtk lib根目录,然后后面的小写的’l'对应该根目录下面所有的.lib文件,一一排好队,中间空格隔开
c). “gtk_include=” 后面的是所有包含.h文件的文件夹,前面加个”-I”,也来排好队,中间空格隔开
d). 注意makefile要用tab不要用空格
很繁琐吧,试试这个:windows下编译gtk文件的简单方法
3. 好啦,都有了,把hello.c和makefile放在同一个目录下,打开一个命令行进入该目录,敲入”make”,回车(没有make程序?到前头翻翻是否下载了unixutils和gcc for windows)
结果出来了,运行了hello.exe会看到这个界面:
恭喜,你成功了?什么?还没搞定,rp太差了吧~~~~ :D
参考资料:
1、GTK+ 开发简介
2、在Windows 下以GTK+ 撰写视窗程式安装GTK+