ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:23.56KB ,
资源ID:5509882      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5509882.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(gtk+安装.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

gtk+安装.docx

1、gtk+安装Redhat 9.0 上安装 gtk+-2.12.0 的心得体会一、首先介绍下个 gtk 包:1.1 什么是 GTK+? GTK+是一个小型而高效的控件库,具有 Motif 的外观和风格.实际上,它比 Motif 看起来好多了,它包含有基本 的控件和一些很复杂的的控件:例如文件选择控件和颜色选择控件.GTK+提供了一些独特的特性,(至少,我知 道其他的控件库不提供他们),例如,按钮不提供标签,它包含了一个子控件,在很多的时候是一个标签,但是,这 个子控件也可以是一个映射,图像或者任何其他的程序员想要的集合.在整个的库中,你随处可见这种伸缩性. 1.2. GTK+中的 是什么意思 中

2、的+是什么意思 中的 是什么意思? GTK+中的+是什么意思?Peter Mattis 的邮件这样表述: 我原来编写的 gtk 包含以下的三个库:libglib, libgdk and libgtk.它是一种平行的控件层次,你不能够从一个已 存在的控件中得到一个新的控件,新版的 gtk+包含一个比信号机制更加标准的回调机制,+用来区 别原来的 版本和新的版本,你可以把它看作一个加入了面向对象特性的旧版的加强版. 1.3. GTK+, GDK 和 GLib 中的 G 代表什么 代表什么? GTK+, GDK 和 GLib 中的 G 代表什么? GTK+ = Gimp Toolkit GDK =

3、GTK+ Drawing Kit GLib = G Library 1.4. 那里可以找到 GTK+的文档 的文档? 的文档 那里可以找到 GTK+的文档? 在 GTK+发布版本的 doc/文件夹下面, 你可以找到 GTK 和 GDK 的参考资料,本 FAQ 和 GTK 指南. 另外,你可以通过下面的网址找到这个文件 HTML 版本 http:/www.gtk.org/,打包的 gtk 指南,SGML, HTML, Postscript, DVI 或 text 的版本可以在下面找到 ftp:/ftp.gtk.org/pub/gtk/tutorial 1.5 运行 GTK+需要安装什么 需要安装

4、什么 运行 GTK+需要安装什么编译 GTK+,你只需要一个 c 编译器(gcc),一个 X window 系统和相关的库文件. 1.6 那里可以得到 GTK+ 那里可以得到 GTK+ 官方网站 ftp:/ftp.gtk.org/pub/gtk. 一般新的 GTK+版本发布的时候,这个网站都很拥挤,所以你可以试试下面列表中的镜像网站. ftp:/ftp.gtk.org/etc/mirrors 下面有一些镜像网站: 非洲 - ftp:/ftp.is.co.za/applications/gimp 澳大利亚 - ftp:/ftp.au.gimp.org/pub/gimp 芬兰 - ftp:/ftp

5、.funet.fi/pub/sci/graphics/packages/gimp 德国 - ftp:/infosoc.uni-koeln.de/pub/ftp.gimp.org 日本 - ftp:/SunSITE.sut.ac.jp/pub/archives/packages/gimp 英国 - ftp:/ftp.flirble.org/pub/X/gimp 美国 - ftp:/二、安装 gtk 又必须依赖的库和简单的介绍2.1 基本 package: : gtk+ 是基于以下三个库开发的: glib:gtk+与 gnome 的底层核心库,主要提供了 C 数据结构、可移植封装、运行时功能接口,

6、譬如事 件循环、多线程、动态装载和对象机制等; pango:国际化文本陈列及渲染库,它是 gtk+的文本与字体处理核心; atk:可访问接口库。使用 ATK 库,可以让你的程序很方便的使用屏幕阅读器、放大镜,以及一些输 入设备等。 另外,还有 cairo 库也是安装 gtk+所必须的。cario,过去叫做 Xr 或 Xr/Xc,是一个跨平台的开放源代 码的矢量图形函数库,可以提供高质量的显示和打印输出。通过 Glitz 函数库, Cairo 能使用 OpenGL 或 X Render 扩展的硬件加速功能来绘制图像, 这使得基于 Cairo 的应用能在现代化的 3D 显示硬件上获得益处。 2.2

7、 安装 gtk 及其附属包之前需要的需要的准备工作 首先要通过命令: (1)pkg-config -modversion xxxxxx 查看 Linux 下已经安装了相关软件不,如:pkg-config modversion pango 后可以查看计算机当前的 pango 版本。 (2) 安装软件时最好先将原版的 gtk 等软件卸载掉, 卸载软件一般采用命令: sudo rpm -e glibxxx 这 里是 glib-2.0,如我用命令,rpm e rpm 后会发生如下情况: librpm-4.2.so is needed by (installed) perl-RPM2-0.48-4 li

8、brpm-4.2.so is needed by (installed) net-snmp-5.0.6-17 librpm-4.2.so is needed by (installed) rpm-python-4.2-0.69 librpm-4.2.so is needed by (installed) rpm-devel-4.2-0.69 librpm-4.2.so is needed by (installed) rpm-build-4.2-0.69 librpmbuild-4.2.so is needed by (installed) rpm-build-4.2-0.69 librpmd

9、b-4.2.so is needed by (installed) net-snmp-5.0.6-17 librpmdb-4.2.so is needed by (installed) rpm-python-4.2-0.69 librpmdb-4.2.so is needed by (installed) rpm-devel-4.2-0.69 librpmdb-4.2.so is needed by (installed) rpm-build-4.2-0.69 librpmio-4.2.so is needed by (installed) net-snmp-5.0.6-17 librpmio

10、-4.2.so is needed by (installed) rpm-python-4.2-0.69 librpmio-4.2.so is needed by (installed) rpm-devel-4.2-0.69 librpmio-4.2.so is needed by (installed) rpm-build-4.2-0.69 rpm = 4.2 is needed by (installed) rpm-python-4.2-0.69 rpm = 4.1-1.05 is needed by (installed) up2date-3.1.23-1 rpm = 4.2 is ne

11、eded by (installed) rpm-devel-4.2-0.69 rpm = 4.2 is needed by (installed) rpm-build-4.2-0.69 说明删除不成功,rpm 不能删除,其他的软件或库会依赖 rpm 软件,如果强制删除会导致其他相关的软件 或库不能使用。强制删除的命令为:sudo rpm e xxx nodeps (3)下载相关的软件:这里我将我的成果给大家分享下 http:/www.gtk.org/ http:/www.freedesktop.org/software/fontconfig/release/ http:/www.pango.o

12、rg/ ftp:/mirrors.kernel.org/gnu/gettext/gettext-0.17.tar.gzftp:/ftp.gtk.org/pub/glib/2.15/glib-2.15.1.tar.bz2 ftp:/ftp.gtk.org/pub/pango/1.19/pango-1.19.0.tar.bz2 http:/ftp.gnome.org/pub/gnome/s . /atk-1.20.0.tar.bz2 ftp:/ftp.gtk.org/pub/gtk/v2.10/dependencies/jpegsrc.v6b.tar.gz ftp:/ftp.remotesensi

13、ng.org/pub/libtiff/tiff-3.8.2.tar.gz ftp:/ftp.gtk.org/pub/gtk/2.12/gtk+-2.12.4.tar.bz2 http:/www.gnu.org/software/software.html http:/ftp.gnome.org/pub/GNOME/sources/pango/ http:/cairographics.org/releases/ (下载 cairo) http:/www.linuxfromscratch.org/blfs/view/svn/x/pango.html(pango 下载) (下载 libpangoca

14、iro 和 libpango 等东东) 当时我安装 gtk 时,每个版本之间的搭配弄了好长时间,那是真的是一个一个的搭配才成功的,而且有的 包中含有 bug,./configure 或 make 的时候就会出现 error,如果原版的软件没有删除的话也可能引起错误, 当我记得当时没有进行原版软件的卸载也居然将 gtk 平台搭建成功了。 经过我无数次的实验与不懈的努力,终于发现下面的搭配是比较好的,至少可以成功的搭建 gtk 平台: A、 pkg-config-0.25.tar.gz(主要是系统已有的版本过于老旧,导致安装后续的软件不能成功)B、pango-1.17.3.tar.gz 、 C、

15、gtk+-2.12.0.tar.gz 、 D、 glib-2.22.2.tar.gz 、 E、cairo-1.2.6.tar.gz 、 F、 atk-1.9.0.tar.bz2 、(3) 配置环境 首先说下/etc/ld.so.conf: 这个文件记录了编译时使用的动态链接库的路径。 默认情况下,编译器只会使用/lib 和/usr/lib 这两个目录下的库文件如果你安装了某些库,比如在安装 gtk+-2.4.13 时它会需要 glib-2.0 = 2.4.0,辛苦的安装好 glib 后没有指定 -prefix=/usr 这样 glib 库就装到了/usr/local 下,而又没有在/etc/l

16、d.so.conf 中添加/usr/local/lib 这个搜索路径,所以编译 gtk+-2.4.13 就会出错了 :(对于这种情况有两种方法解决: 方法 1: 将/usr/local/lib 加入到/etc/ld.so.conf 中,这样安装 gtk 时就会去搜索/usr/local/lib,同样可以找到需要的库 :) 将/usr/local/lib 加入到/etc/ld.so.conf 也是必须的,这样以后安装东东到 local 下,就不会出现这样的 问题了。将自己可能存放库文件的路径都加入到/etc/ld.so.conf 中是明智的选择 _ 添加方法也极其简单,将库文件的绝对路径直接写进

17、去就 OK 了,一行一个。例如: 通过命令:vi /etc/ld.so.conf 进入编辑 /usr/X11R6/lib /usr/local/lib /opt/lib 方法 2:在编译 glib-2.4.x 时,指定安装到/usr 下,这样库文件就会放在/usr/lib 中,gtk 就不会找不到需要的 库文件了 :) 对于安装库文件来说,这是个好办法,这样也不用设置 PKG_CONFIG_PATH 了 (不对我刚开始用这种方 法,新旧库混杂,还是出错,而且不便于管理)。 安装其他软件也是一样,都可以采用上面的方法配置动态链接路径。(4)设置 pkg-config 工具 pkgconfig 包

18、括 pkg-config 程序,用来在编译脚本中向编译器传递头文件包含路径或库文件路径。 对于支持 pkg-config 工具的 GTK+ 及其依赖库来说,库的头文件的搜索路径的设置变成了对 .pc 文 件搜索路径的设置。.pc 文件的搜索路径是通过环境变量 PKG_CONFIG_PATH 来设置的,pkg-config 将按照设置路径的先后顺序进行搜索,直到找到指定的 .pc 文件为止。 #export LD_LIBRARY_PATH=/usr/local/lib #export PKG_CONFIG_PATH=/usr/local/ 注意一直用该终端,否则要再设置一次 注意:命令 expo

19、rt PKG_CONFIG_PATH=/usr/local/ export LD_LIBRARY_PATH=/usr/local/lib 可能只适用于上述方法一的情况。三、安装: 安装:下面的安装顺序是固定的,如果要硬是要改变安装顺序的话,那有可能安装失败(可以试一试哦,不过小 心导致 不听老人言,吃亏在眼前的后果,哈哈) (1) 安装 glib ./configure make & make install /sbin/ldconfig export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,先删除 先删除 /usr/lib/pkgconfig/gli

20、b-2.0.pc 可以检验装起没有:pkg-config -modversion glib-2.0 以下也雷同检验 (2)、安装 atk ./configure make & make install /sbin/ldconfig (3)、 安装 cairo ./configure make &make install /sbin/ldconfig (4)安装 pango ./configure make & make install /sbin/ldconfig (5)、 安装 gtk ./configure make & make install /sbin/ldconfig 每个过程结束

21、后,都可以用用 echo $? 检查是否执行安装成功。如果输出是 0,说明配置成功;0 之外 的数字说明配置失败。在 Linux 系统上,可以用这个方法检查一个命令或程序在其结束后返回给系统的 值是多少。一般 0 代表成功,非 0 表示程序异常退出。 (不知为什么,我默认安装的/usr/local/include/pango-1.0/pango 中少了 pangocairo.h,我把已经删 除的/usr/local/pango-1.0/pango 中的 pangocairo.h 拷过去就 OK 了)。 /usr/lib/pkgconfig 由于下次还先在/usr/lib/gtk 或/usr/i

22、nclude/gtk 等,因此还是先找到原系统的止 gtk(如没删除掉) rootlocalhost local# export LD_LIBRARY_PATH=/usr/local/lib rootlocalhost local# export PKG_CONFIG_PATH=/usr/local/ 这样就找在/usr/local 位置的,升级的 gtk 了四、出错处理再来看看 ldconfig 是个什么东东吧 : 它是一个程序,通常它位于/sbin 下,是 root 用户使用的东东。具体作用及用法可以 man ldconfig 查到 简单的说,它的作用就是将/etc/ld.so.conf

23、列出的路径下的库文件 缓存到/etc/ld.so.cache 以供使用 因此当安装完一些库文件,(例如刚安装好 glib),或者修改 ld.so.conf 增加新的库路径后,需要运行一下 /sbin/ldconfig 使所有的库文件都被缓存到 ld.so.cache 中,如果没做,即使库文件明明就在/usr/lib 下的,也是不会被 使用的,结果 编译过程中抱错,缺少 xxx 库,去查看发现明明就在那放着,搞的想大骂 computer 蠢猪一个。 _ 我曾经编译 KDE 时就犯过这个错误,(它需要每编译好一个东东,都要运行一遍),所以 切记改动库文件后一定要运行一下 ldconfig,在任何目

24、录下运行都可以。 (每个过程结束后,都可以用用 echo $? 检查是否执行安装成功。如果输出是 0,说明配置成功;0 之 外的数字说明配置失败。在 Linux 系统上,可以用这个方法检查一个命令或程序在其结束后返回给系统 的值是多少。一般 0 代表成功,非 0 表示程序异常退出。) 再来说说 PKG_CONFIG_PATH 这个变量吧: 经常在论坛上看到有人问为什么我已经安装了 glib-2.4.x,但是编译 gtk+-2.4.x 还是提示 glib 版本太低阿? 为什么我安装了 glib-2.4.x,还是提示找不到阿?.都是这个变量搞的鬼。 假如将 glib-2.x.x 装到了/usr/l

25、ocal/下,那么 glib-2.0.pc 就会在/usr/local/lib/pkgconfig 下,将这个 路径添加到 PKG_CONFIG_PATH 下就可以啦。并且确保 configure 找到的是正确的 glib-2.0.pc,就是 将其他的 lib/pkgconfig 目录 glib-2.0.pc 干掉就是啦。(如果有的话 -) 先来看一个编译过程中出现的错误 (编译 gtk+-2.4.13): checking for pkg-config /usr/bin/pkg-config checking for glib-2.0 = 2.4.0 atk = 1.0.1 pango =

26、1.4.0 Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing glib-2.0.pc to the PKG_CONFIG_PATH environment variable No package glib-2.0 found configure: error: Library requirements (glib-2.0 = 2.4.0 atk = 1.0.1 pango = 1.4.0) not met; consider

27、adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can findthem. rootNEWLFS gtk+-2.4.13# 很明显, 上面这段说明, 没有找到 glib-2.4.x,并且提示应该将 glib-2.0.pc 加入到 PKG_CONFIG_PATH 下。究竟这个 pkg-config PKG_CONFIG_PATH glib-2.0.pc 是做什么的呢? let me tell you _ 先说说它是哪冒出来的

28、,当安装了 pkgconfig-x.x.x 这个包后,就多出了 pkg-config,它就是需要 PKG_CONFIG_PATH 的东东 pkgconfig-x.x.x 又是做什么的? 来看一段说明: The pkgconfig package contains tools for passing the include path and/or library paths to build tools during the make file execution. pkg-config is a function that returns meta information for the sp

29、ecified library. The default setting for PKG_CONFIG_PATH is /usr/lib/pkgconfig because of the prefix we use to install pkgconfig. You may add to PKG_CONFIG_PATH by exporting additional paths on your system where pkgconfig files are installed. Note that PKG_CONFIG_PATH is only needed when compiling p

30、ackages, not during run-time.我想看过这段说明后,你已经大概了解了它是做什么的吧。 其实 pkg-config 就是向 configure 程序提供系统信息的程序,比如软件的版本啦,库的版本啦,库的路 径啦,等等这些信息只是在编译其间使用。你可以 ls /usr/lib/pkgconfig 下,会看到许多的*.pc,用文本 编辑器打开会发现类似下面的信息: prefix=/usr exec_prefix=$ libdir=$/lib includedir=$/includeglib_genmarshal=glib-genmarshal gobject_query=g

31、object-query glib_mkenums=glib-mkenums Name: GLib Description: C Utility Library Version: 2.4.7 Libs: -L$ -lglib-2.0 Cflags: -I$/glib-2.0 -I$/glib-2.0/include明白了吧,configure 就是靠这些信息判断你的软件版本是否符合要求。并且得到这些东东 所在的位置,要不去哪里找呀。 不用我说你也知道为什么会出现上面那些问题了吧。 解决的办法很简单,设定正确的 PKG_CONFIG_PATH,假如将 glib-2.x.x 装到了/usr/loc

32、al/ 下,那么 glib-2.0.pc 就会在 /usr/local/lib/pkgconfig 下,将这个路径添加到 PKG_CONFIG_PATH 下就可以啦。并且确保 configure 找到的是正确的 glib-2.0.pc,就是将其他的 lib/pkgconfig 目录 glib-2.0.pc 干掉就是啦。 (如果有的话 -) 设定好后可以加入到/.bashrc 中,例如: PKG_CONFIG_PATH=/opt/kde-3.3.0/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/pkgconfig: /usr/X11R6/lib/pkgconfig编译 gtk 程序时

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1