Fedora下gtk+开发包安装手记

本文详细介绍了在Fedora系统下安装gtk+开发包的过程,包括需要的基本库glib、pango、atk和cairo,以及依赖的pkg-config工具。通过yumex快速安装相关开发库,然后编译安装gtk+-2.8.18,最后设置pkg-config和LD_LIBRARY_PATH环境变量,确保编译器能找到所需的头文件和库文件。

基本package:
gtk+ 是基于以下三个库开发的:
glib:gtk+与gnome的底层核心库,主要提供了C数据结构、可移植封装、运行时功能接口,譬如事件循环、多线程、动态装载和对象机制等;
pango:国际化文本陈列及渲染库,它是gtk+的文本与字体处理核心;
atk:可访问接口库。使用ATK库,可以让你的程序很方便的使用屏幕阅读器、放大镜,以及一些输入设备等。
另外,还有cairo库也是安装gtk+所必须的。cario,过去叫做Xr或Xr/Xc,是一个跨平台的开放源代码的矢量图形函数库,可以提供高质量的显示和打印输出。通过Glitz函数库, Cairo 能使用 OpenGL或X Render扩展的硬件加速功能来绘制图像,这使得基于Cairo的应用能在现代化的3D显示硬件上获得益处。
要装gtk+,必须先安装这四个库(这三个库又依赖其它一些库)
安装
1、首先确认系统中的pkg-config版本:
pkg-config --modversion pkg-config
如果系统中尚未安装pkg-config,那么就在
ftp://ftp.gtk.org/pub/gtk/v2.8/dependencies/下载一个装上,版本是0.2。
可能你也和我一样都是Linux菜鸟,也很想搞明白pkg-config作啥用,这里有介绍
http://pkgconfig.freedesktop.org/wiki/
pkg-config大致上是编译器的辅助工具。譬如

### GTK+ 开发工具包下载、安装与使用教程 #### 一、GTK+ 工具包概述 GTK+ 是一套开源的跨平台图形工具包,广泛用于开发图形用户界面(GUI)应用程序。其核心库及其依赖项能够帮助开发者快速构建功能强大的 GUI 应用程序[^1]。 #### 二、GTK+ 工具包的获取方式 对于不同操作系统,GTK+ 提供了相应的安装包和资源: 1. **Windows 平台** - 可以通过官方站点或其他可信来源下载预编译的 Windows 版本 GTK+ 安装包。例如,针对 64 位 Windows 系统,有一个特定版本 `gtk+-bundle_3.10.4-20131202_win64.zip`。 - 此外,还可以参考其他社区维护的资源链接,如 [GTK+ for Windows](https://www.gtk.org/download/windows.php),从中选择适合的操作系统架构以及所需版本。 2. **Linux 平台** - 对于 Linux 用户来说,通常可以通过发行版自带的软件仓库进行安装。比如,在 Fedora 或 CentOS 上可以运行命令: ```bash sudo yum install gtk3-devel ``` - 如果希望手动编译安装,则可以从官网 FTP 获取最新源码压缩包,并按照标准流程完成配置、编译和安装操作[^4]。 3. **macOS 平台** - macOS 用户可借助 Homebrew 包管理器轻松安装 GTK+ 组件及相关依赖项: ```bash brew install gtk+ ``` #### 三、GTK+安装步骤详解 以下是基于上述提到的不同平台下的具体安装指南摘要: 1. **Windows 下 GTK+ 3.x 安装说明** 解压已下载好的 ZIP 文件至目标路径后,需设置环境变量以便让系统识别到这些动态链接库文件位置;接着验证是否成功加载所有必要的 DLLs[^1][^3]。 2. **Linux 发行版内置 YUM/RPM/APT 方式部署指导** 利用各主流 GNU/Linux 配置方案中的默认机制即可实现一键式自动化处理整个过程而无需额外干预太多细节部分. 3. **Mac OS X via Brew Command Line Tool Integration Approach Description Here...** #### 四、基本示例代码展示如何利用Python绑定调用Gtk模块创建简单窗口应用实例演示如下所示: ```python import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk class MyWindow(Gtk.Window): def __init__(self): super().__init__(title="Hello World") self.button = Gtk.Button(label="Click Me") self.button.connect("clicked", self.on_button_clicked) self.add(self.button) def on_button_clicked(self, widget): print("Hello World") win = MyWindow() win.connect("destroy", Gtk.main_quit) win.show_all() Gtk.main() ``` 此脚本定义了一个继承自 `Gtk.Window` 类的新类 `MyWindow`,并通过在其内部初始化按钮控件并与之关联点击事件处理器函数的方式实现了最基础的功能需求示范效果[^2]. --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值