一、GTK+是什么
GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也有Windows版本和Mac OS X版。
二、GTK+的安装
安装Command Line Tools :如果你已经安装了Xcode这里可以选择忽略。
xcode-select --install
安装XQuartz:GTK需要X11 Server,如果你的Mac安装的是Mac OS X Mountain Lion 或者更高的版本,那么就需要手动安装XQuartz。你可以选择官网下载安装(http://xquartz.macosforge.org/landing/),或者从Launchpad中点击X11安装。
我们这里使用到了Homebrew,它是Mac OS X下一个新兴的优秀的包管理工具。经常使用Linux或Unix系统的同学应该会比较喜欢包管理工具。
#安装命令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
#安装完成后测试Homebrew:查看Homebrew版本号,确认Homebrew正确安装。
brew -v
安装pkg-config:pkg-config 是姨哥提供从源代码中编译软件时查询已安装的库时使用的统一接口工具。最早设计用于Linux,但现在在各个版本的BSD、Windows、Mac OS X 和 Solaris 上都有着可用的版本。
brew install pkg-config
安装GTK+3.0:
brew install gtk+3
配置pkg-config:
vim ~/.bash_profile
#添加 export PKG_CONFIG_PATH="/usr/X11/lib/pkgconfig:/usr/local/Cellar/cairo/1.14.6_1/lib/pkgconfig/"
source~/.bash_profile
三、测试GTK+
#include
#include
#include
static gboolean delete_event(GtkWidget * widget, GdkEvent * event,
gpointer data) {
gtk_main_quit();
return FALSE;
}
int main(int argc, char *argv[]) {
GtkWidget *window;
GtkWidget *label;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(window), "RobberPhex");
gtk_window_set_default_size(GTK_WINDOW(window), 400, 300);
g_signal_connect(window, "delete-event", G_CALLBACK(delete_event), NULL);
gtk_container_set_border_width(GTK_CONTAINER(window), 10);
label = gtk_label_new("Hello GTK!");
gtk_container_add(GTK_CONTAINER(window), label);
gtk_widget_show(label);
gtk_widget_show(window);
gtk_main();
return 0;
}
在shell中执行以下命令
gcc hello.c -o testgtk `pkg-config --cflags --libs gtk+-3.0`
./testgtk
看到了一个带有标签的窗口界面,表示环境是成功的~