mac cairo report 1

本文档记录了在Mac上通过Homebrew安装Cairo和GTK+的过程,包括设置pkg-config环境变量,编写并编译运行第一个Cairo的C程序,最终展示了一个包含Cairo和GTK的窗口。

Cairo mac report 1

1.下载安装homebrew

打开终端,在终端中输入一下指令:ruby -e "$(curl –fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"这个指令来自homebrew官网,http://brew.sh

2. 通过homebrew安装Cario和gtk+

在终端中依次输入:brew install cairo      brew install gtk

长时间等待之后,安装了一大堆东西。

3.使用pkg-config(在安装cairo和gtk的时候,homebrew已经帮我们装好了pkg-config)

在终端中设置pkg-config的环境变量:

exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig

4. 编写第一个cairo的c文件(main.c)

#include<cairo.h>
#include<gtk/gtk.h>
 
staticgboolean on_expose_event (GtkWidget * widget, GdkEventExpose * event, gpointerdata)
{
   cairo_t *cr;
   
   cr = gdk_cairo_create (widget->window);
   
   cairo_set_source_rgb (cr, 0.627, 0, 0);
   cairo_select_font_face (cr, "AdobeHeitiStd", CAIRO_FONT_SLANT_NORMAL,
                           CAIRO_FONT_WEIGHT_NORMAL);
   cairo_set_font_size (cr, 24.0);
   
   cairo_move_to (cr, 10.0, 34.0);
   cairo_show_text (cr, "Iam aChinese.");
   
   cairo_destroy (cr);
   
   return false;
}
 
 
int main(int argc, char*argv[])
{
   
   GtkWidget *window;
   
   gtk_init (&argc, &argv);
   
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   
   g_signal_connect (window, "expose-event",
                      G_CALLBACK(on_expose_event), NULL);
   g_signal_connect (window, "destroy",
                      G_CALLBACK(gtk_main_quit), NULL);
   
   gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
   gtk_window_set_default_size (GTK_WINDOW (window), 320, 48);
   gtk_widget_set_app_paintable (window, TRUE);
   
   gtk_widget_show_all (window);
   
   gtk_main ();
   
   return 0;
}

5.编译运行

在终端中cd到新建的main.c的目录下,输入命令:

gcc -o main `pkg-config--cflags --libs cairo gtk+-2.0` main.c(中间不是引号,是感叹号旁边的点号)。接着输入 ./main就出现了第一个cairo和gtk的窗口,上面有一行字。

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值