一、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

看到了一个带有标签的窗口界面,表示环境是成功的~

mac 配置c语言环境,C语言学习笔记————–MAC下配置GTK+环境相关推荐

  1. c语言编程实例解析精粹,C语言实例解析精粹学习笔记——35(报数游戏)

    实例35: 设由n个人站成一圈,分别被编号1,2,3,4,--,n.第一个人从1开始报数,每报数位m的人被从圈中推测,其后的人再次从1开始报数,重复上述过程,直至所有人都从圈中退出. 实例解析: 用链 ...

  2. c语言/c++转Java学习笔记---基础问题

    c语言/c++转Java学习笔记---基础问题 1.java注释 2.数组的定义和使用 定义 使用 3.类 4.this 的使用 5.继承 6.super的使用 7.包 8.修饰符 成员的访问控制符( ...

  3. AutoGLuon学习笔记(一):环境配置与API初识

    AutoGLuon学习笔记(一):环境配置与API初识 环境配置 CUDA安装 Autogluon安装 图片分类 数据集导入和处理 拟合模型 预测新图片 测试集准确率 保存模型 超参数优化 模型范围设 ...

  4. R语言与抽样技术学习笔记(Jackknife)

    R语言与抽样技术学习笔记(Randomize,Jackknife,bootstrap) Jackknife算法 Jackknife的想法在我很早的一篇博客<R语言与点估计学习笔记(刀切法与最小二 ...

  5. R语言与函数估计学习笔记(函数模型的参数估计)

    R语言与函数估计学习笔记 毫无疑问,函数估计是一个比参数估计要复杂得多的问题,当然也是一个有趣的多的问题.这个问题在模型未知的实验设计的建模中十分的常见,也是我正在学习的内容的一部分. 关于函数估计我 ...

  6. React Native学习笔记一之搭建开发环境

    因为项目需要,今天开始正式学习React Native,先来搭建个开发环境 忐忑的心情 因为项目比较急,而且客户要求使用React Native开发,只能先学点基础然后在项目中使用的时候,边做边学了, ...

  7. Fuzz学习笔记(一)—— WinAFL环境搭建与基本使用

    WinAFL学习笔记(一)-- WinAFL环境搭建 环境配置 安装步骤 1)安装git 2)安装CMake 3)编译dynamorio 编译32位 编译64位 4)编译winafl 编译32位 编译 ...

  8. ESP32学习笔记(1)——搭建环境、编译烧写(Windows+VS Code)

    Espressif-IDE 环境搭建参看 ESP32学习笔记(50)--搭建环境.编译烧写(Windows+Espressif-IDE) 一.搭建环境 1.1 官方资料 ESP-IDF 编程指南 1. ...

  9. TMS320F280049C 学习笔记19 可配置逻辑块 (CLB) 软件配置

    文章目录 CLB tool 简介 CLB配置过程概述 软件安装 GNU Compiler Install the Simulation Viewer 使用CLB tool 导入空CLB工程 更新变量路 ...

  10. ESP32学习笔记(51)——搭建环境、编译烧写(Windows+Espressif-IDE)

    VS Code 环境搭建参看 ESP32学习笔记(1)--搭建环境.编译烧写(Windows+VS Code) 一.搭建环境 1.1 官方资料 ESP-IDF 编程指南 1.2 下载Espressif ...

最新文章

  1. Unicode 和 UTF-8 有何区别?
  2. WSDL文件简介(附例子)
  3. CAP 发布 5.0 版本正式发布
  4. 关于ECLIPSE中JSP代码无提示
  5. fatal error C1853: 'Debug/***.pch' is not a precompiled header file created with this compil
  6. mac 安装android sdk
  7. Go基础-go语言的编码规范
  8. android 字符串 声波,识别成功率100%的声波配网,看完你也可以实现一个
  9. PC端答题小助手软件 – 用 OCR 高效完成在线答题
  10. linux mq发送测试消息,MQ消息队列搭建命令及方法
  11. 详述快捷支付产品功能及设计要点
  12. MQTT协议(四) 【PUBLISH】发布消息
  13. 3ds Max 实验十四 UVW展开
  14. 解读Tapestry5.1——页面渲染
  15. Android 通过外网IP定位城市
  16. 手工折纸作品展示:送别的花束
  17. node中的cd命令,cd命令
  18. 华中科技大学有计算机科学与技术学院导师,华中科技大学计算机科学与技术学院导师简介-徐鹏...
  19. JavaSE学习笔记 - 基础(1)
  20. python调试 设置断点

热门文章

  1. java 登录下线_java 实现 一个账号只能在一个地方登陆,其他地方被下线
  2. rabbitmq集群报错
  3. make menuconfig错误
  4. vue实现一个星级打分效果_五分钟用vue实现一个五星打分效果
  5. c#对象集合去重_《C#编程入门》概览
  6. 口碑好的mysql数据监控平台_构建狂拽炫酷屌的 MySQL 监控平台
  7. Java library util_sdejavautil.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  8. Elasticsearch-PHP学习
  9. 2018,开工第一天
  10. debian下安装LNMP(三)