GTK+最初是为了弥补Unix-like(如linux)类操作系统GUI界面的不足而设计的,但后来也被移植到了Win32平台,关于GTK+在Linux系统上如何安装和配置的说明网上已经很多,再此不再獒述,下面主要讨论的是GTK+如何在Win32平台的安装和配置,虽然关于这个问题网上也有很多相关的叙述,但我感觉都不够细致和完善,即使按照其步骤一步一步进行下去未必能够安装成功。在此对如何在Win32平台上搭建GTK+环境做一个比较完整的叙述,最终采用的是在Dev-C++的IDE(集成环境)下进行GTK+开发:
1 分别下载Dev-C++和gtk-dev-2.12.9-win32-2.exe开发包,这样可以少很多麻烦,可以不用下载GTK+官网的GTK+ For Win32。
2 首先安装Dev-C++集成开发环境,然后再安装gtk-dev-2.12.9-win32-2.exe,会自动选择Dev-c++进行安装配置。
3 安装完成后检查一下环境变量检查一下环境变量 PATH %GTK_BASEPATH%\bin 右击“我的电脑”-->"高级"-->“环境变量”
4 检查一下Dev-C++ 的“工具->编译选项->目录”。
库:
...\GTK\lib
包含文件:
...\GTK\include
...\GTK\include\gtk-2.0
...\GTK\include\glib-2.0
...\GTK\include\pango-1.
...\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
到此,运行环境已经基本上配置好了,但并没有结束。
打开dev+c++键入程序
#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;
}
此时还不能编译,下面需要修改工程属性,在”“工程”-->“工程属性"-->“参数”或“工具“-->"编译"-->“编译选项”中的连接器框里填上
-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 -lgthread-2.0 -lglib-2.0 -lintl -lgthread-2.0
在编译选项里面填入: -mms-bitfields 这样就可以编译通过了。在运行以后,你会发现出现一个空白窗口,标题为 Hello World。这个时候只点击窗口的关闭是不能结束进程的,你要去任务管理器里面把进程结束。在工程属性里面,如果把工程类型设置为"Win32 控制台程序",则运行的时候会同时出现一个控制台窗口(一个黑色的命令行界面的窗口),这个窗口在调试的时候很有用,一些错误信息会在这里显示。如果把工 程类型设置为"Win32 图形界面程序",这个黑窗口就没有了。
另外关于中文输入的问题,GTK+ 中的字符串均采用 UTF-8 格式编码,如果编译或中文显示乱码,那么说明程序中的字符串编码格式不是 UTF-8,通常这是由编辑器造成的,例如在VC7中,默认的存档编码格式为 GB2312。但是,除了将文件以 UTF-8编码格式存档外,你还可以使用glib的转换函数在程序的运行过程中将字符串转换为 UTF-8。例如: 将button = gtk_button_new_with_label("确定");改成button = gtk_button_new_with_label(g_locale_to_utf8("确定",4,NULL,NULL,NULL)); 其中"4"表示的是字符串中的字节数,如果字符串为"你太厉害了",则字节数应为5×2=10.
Then Enjoy It !