Mac OS X 下配置 GTK 开发环境(Homebrew)

这片文章来自Arith Xu的博客http://www.arithxu.com/

微博:http://weibo.com/icearith

Twitter:https://twitter.com/ArithXu


最近因为实验室的一个项目需要使用GTK做UI,所以研究了很久GTk。这个软件主要面向Linix平台,但是我希望自己可以在随身携带的Macbook Air 上开发,所以花了点时间研究了如何在Mac OS X下配置GTK开发环境。我这里配置的是GTK+3.0,方法同样也适用于GTK+2.0。

实验平台:Mac OS X 10.9.3
GTK版本:GTK+3.0

首先介绍下Homebrew,它是Mac OS X下一个新兴的优秀的包管理工具。经常使用Linux或Unix系统的同学应该会比较喜欢包管理工具。如果你是一个Mac发烧友,那么Homebrew你值得拥有。这里留下Homebrew官网,有兴趣可以去详细了解。

1、首先准备安装的条件(Command Line Tools和X11 Server)

安装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安装。

2、安装Homebrew

Homebrew官网(http://brew.sh),使用Rubby脚本安装,因为OS X已经自带了Ruby,所以如果你没有删除或者升级过OS X自带的Ruby,就可以直接用下面的命令安装了。如果你升级或者删除过Ruby,请按照Homebrew官网的要求安装对应版本的Ruby。

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

3、安装pkg-config

pkg-config 是姨哥提供从源代码中编译软件时查询已安装的库时使用的统一接口工具。最早设计用于Linux,但现在在各个版本的BSD、Windows、Mac OS X 和 Solaris 上都有着可用的版本。(引用自维基百科)

因为已经安装好了 Homebrew ,所以这里直接使用Homebrew安装,有木有很方便。

brew install pkg-config


4、安装GTK+3.0

同样的方法,直接使用Homebrew安装。

brew install gtk+3

 5、配置pkg-config

vim ~/.bash_profile

在文件的适当位置加入:

export PKG_CONFIG_PATH="/usr/X11/lib/pkgconfig:/usr/local/Cellar/cairo/1.12.16/lib/pkgconfig/"

保存退出后:

source ~/.bash_profile


6、测试代码

#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>
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;
}


7、编译代码

我在使用gcc gtkhello.c -o gtktest pkg-config --cflags --libs gtk+-3.0  编译的时候出现了错误,现在还没找到错误的原因。不过多次常时候我使用这个命令的形式编译通过并成功运行。

gcc $(pkg-config gtk+-3.0 --cflags) $(pkg-config gtk+-3.0 --libs) gtk_test.c -o gtktest


Creative Commons License

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.


转载于:https://my.oschina.net/airsoft/blog/266502

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值