今天终于可以写这篇文章了,GTK+虽然本身是跨平台的,我也一直在Ubuntu8.04下使用,不过有时候在Windows XP下也有用到的需要,可是弄了很长的一段时间也没有搞好。虽然一直信奉“知之为知之,不知Google知”的信条,不过Google有时候也不是万能的,经过很长时间终于摸索出来了。虽然Google不到完整的适合我的答案,不过还是得谢谢Google的帮忙!
废话少说,转入正题。今天我在这里写的是如何在Windonws XP上搭建GTK+的开发环境。其实在Linux下会更加容易,不过还是有人,比如我,有时候需要在Windows XP上用到它的需要。以下是这个过程的步骤:
1.首先我们需要的是两个重要的软件——Dev-Cpp4.9.9.2和gtk-dev-2.12.9-win32-2.exe。前者是Windows XP下的一个C/C++的免费IDE,使用的是MinGW编译器;后者是开发GTK+所需要的库以及配置程序。
2.下载完后,当然就是安装啦。我们首先安装的是Dev-Cpp4.9.9.2,安装时按照默认就可以了(默认安装在C:/Dev-Cpp)安装完成后启动软件,然后根据提示进行操作,最后可见到如下界面:
接下来安装gtk-dev-2.12.9-win32-2.exe,安装过程全部按照默然的就可以了,留意一下的是选择IDE的时候确定一下是Dev-Cpp就可以了。
3.安装完以上两个程序以后,重新启动Dev-Cpp,按照提示做就可以了。此时,环境变量和Dev-Cpp的目录设置应该都已经设置好了。不过我们还是确认一下:
(1)环境变量:右键单击“我的电脑”–>“属性”–>“高级”–>“环境变量”–>“系统变量”,可以看到Path增加了“%GTK_BASEPATH%/bin”,如图:
(2)Dev-Cpp的目录设置:“工具”–>“编译器选项”–>“目录”
①–>“库”:
…/GTK/lib
②–>“C包含文件”:
…/GTK/include
…/GTK/include/gtk-2.0
…/GTK/include/glib-2.0
…/GTK/include/pango-1.0
…/GTK/include/cairo
…/GTK/include/atk-1.0
…/GTK/include/gtkglext-1.0
…/GTK/include/libglade-2.0
…/GTK/include/libxml2
…/GTK/lib/gtk-2.0/include
…/GTK/lib/glib-2.0/include
…/GTK/lib/gtkglext-1.0/include
“…”表示的路径根据你安装的路径而定。如果两个程序都是按照默认的路径安装的,应该跟以上截图所示相同。而此时Windows XP下GTK+的开发环境已经搭建完成!
4.这里需要补充一点东西。启动Dev-Cpp,然后“文件”–à“新建”–à“源代码”,然后把以下这个简单的程序写入编辑区:
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), “Hello World”);
gtk_widget_show(window);
gtk_main();
return 0 ;
}
在编译之前我们需要做点东西,“工具”–à“编译器选项”–à“编译器”,然后:
(1)勾选“编译时加入以下命令(Add the following commands when calling compiler)”,然后在编辑框内输入以下内容:
-lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv
(2)勾选“在****命令行加入以下命令(Addd these commands in the linker command line)”,然后在编辑框内加入以下内容:
-mms-bitfields
确定后,对刚才的代码进行编译,然后运行程序,如果没有出错,我们可以看到如下窗口:
至此,此教程完成。至于为什么加入以上内容,Dev-Cpp怎么使用等并不在此教程范围内,对于这些问题此处不详细解答,感兴趣的可以去Google一下!
PS:
为了在Windows XP下搭建GTK+环境真是费了好多时间,试过很多办法,不过始终不能在自己的机子上运作正常,所以上面的这个教程也不一定适合正在看的你。不适合的时候自己先找找原因,再Google看有没有解决办法吧!对了,想说一下,在Ubuntu8.04下搭建GTK+的开发环境只需要一个命令:sudo apt-get install……(具体看我的另外一篇教程)哎,都说Windows XP操作够傻瓜,难道我连傻瓜都不如!?看来我这种“菜鸟”还是去用Ubuntu8.04好了,Windows XP真难!
### 工程配置 ###
工程-工程属性-参数-编译器:
-mms-bitfields -IC:/gtk/include/gtk-2.0 -IC:/gtk/lib/gtk-2.0/include -IC:/gtk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/pango-1.0 -IC:/gtk/include/glib-2.0 -IC:/gtk/lib/glib-2.0/include -IC:/gtk/include/libpng12
工程-工程属性-参数-连接器:
-LC:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0
-lgmodule-2.0 -lglib-2.0 -lintl -mms-bitfields -mwindows
### libgio-2.0-0.dll ###
下载http://www.dllbang.com/dll/libgio-2.0-0_dll,替换