首先:C代码的源码安装必须要安装gcc的编译器,CentOS7.0装好之后默认是不安装gcc编译器的。
安装上g++:rpm -ivh gcc-c++-4.8.5-4.el7.x86_64.rpm
下面介绍安装GTK+要用到的rpm包、源码压缩包、yum安装命令、./configure(配置)时用到的参数以及安装了那些东西,安装位置:
外下载。查找某个rpm包命令:ls -l | grep [xxxx]
六个源代码压缩包,实际安装过程中由于依赖关系存在还可能需要其他的源代码包,等用到再作说明。GTK+官网所需源码包截
图(GTK+的官网没事多看看):
3、yum命令安装,既然Packages里面有几乎全部的rpm包干嘛还使用yum命令?实际安装包过程中,包的依赖包太多,依赖包又需要
大量其他的依赖包,容易搞混,使用一个yum命令轻松搞定。
gtk+的过程中还会用到其他的参数用到时候再做说明。
命令,include下是C语言的头文件,就是.h文件,lib里面就是一些库文件,share就是一些说明文档、帮助文档,就是是用man命
令是出来的帮助。
在安装GTK+之前先介绍GTK+所需要的每一个依赖包或者库的作用,下面这张图很详细说明了GTK+的构成:
绘画的) functionality(功能) such as high level data types, Unicode
manipulation(操作、控制), and an object and type system to C programs(GTK+官网对Glib库的介绍)。其实就
是Linux平台下常用的C语言函数库,提供了C语言的常用数据结构的定义、相关的处理函数,有趣而实用的宏,可
以值的封装和一些运行时机能,如事件循环、线程、动态调用、对象系统等的API。
一般的) interfaces allowing
互动)with a graphical user interface(GTK+官网对ATK
库的介绍)。
3)Cairo:在GTK+的官网中并没有提到需要它,实际肯定需要。是一个跨平台的开放源代码的矢量图形函数库,可以提供高质量的显
示和打印输出。主战场在Linux的Gnome桌面环境领域。
4)Gdk-Pixbuf:provides facilities(能力,场,设备) for loading images in a variety of file formats(GTK+官网对Gdk-Pixbuf的介
绍)。做界面开发吗,专门处理图片的。
自我反省; 内省) data available to language
bindings(GTK+官网对GIOde介绍)。上图中GIO,用于产生与解析 C 程序库 API 元信
息,以便于动态语言(或托管语言)绑定基于 C + GObject 的程序库。
6)Pango:is a library for internationalized text handling(GTK+官网对Pango的介绍)。国际化的文本处理库,说白了处理文字
的。
第一步:glib-2.50.2安装:
令 [root@CentOS Packages]# yum install libmount-devel
supplied PCRE does not support unicode properties or UTF-8的错误。
限。
名称、版本、安装路径等信息(有兴趣的话可以找到文件打开看看)。配置PKG_CONFIG_PATH变量就是告诉pkg-config程序除了
在系统默认路径下搜索.pc文件,还要到用户配置的目录下搜索.pc文件。后面还会有一个LB_LIBRARY_PATH变量,用到时再作
说明。配置如下:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
要的动态库路径,配置如下:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
2.50.2,but GLIB(2.42.2) was found!的问题,并提示移除老版本的glib。在网上也有人遇到这样的问题并且给出了删除
老版本glib的方法,but经过本人认真分析、仔细检查在/usr下的bin、include、lib、share目录并没有任何glib命名或开
头的任何文件或者文件夹,估计glib2.42.2根本没有安装(至少没有装在/usr这个目录下)。后来也是在网上查到配置LD
_LIBRARY_PATH这个变量可以解决在后续安装中出现的这个问题。
第二步:atk-2.22.0安装,在前面的基础上进行配置、构建、安装,不会出现任何问题。
第三步:安装cairo开发包,关于cairo有2个开发包要装。1、cairo-devel 2、cairo-gobject-devel
第四步:gdk-pixbuf-2.36.4安装
[root@CentOS Packages]# rpm -ivh libtiff-devel-4.0.3-14.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm
[root@CentOS Packages]# rpm -e --nodeps libpng-2:1.5.13-7.el7_2.x86_64.rpm
[root@CentOS Packages]# rpm -ivh libpng-1.5.13-5.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh libpng-devel-1.5.13-5.el7.x86_64.rpm
不顾及依赖关系的卸载包不要随便使用,仅在这里本人试过几次没什么大问题,若是其他包的卸载就不一定了,我就遇到过,比
如终端打不开,--nodepes用的时候要慎重。
2)固定的3步:配置、构建、安装;至于PKG_CONFIG_PATH、LD_LIBRARY_PATH环境变量前面已经配过,在同一个终端下不用再
配。
第五步:gobject-introspection-1.50安装,鉴于CentOS7.0中gobject-introspection-1.42包已经被安装,只要把光盘中对应的-devel包装
上就行了,不安装1.50版本的也行。gobject-introspection-devel有依赖关系,按顺序安装。
[root@CentOS Packages]# rpm -ivh m4-1.4.16-10.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh autoconf-2.69-11.el7.noarch.rpm
[root@CentOS Packages]# rpm -ivh perl-Thread-Queue-3.02-2.el7.noarch.rpm
[root@CentOS Packages]# rpm -ivh perl-Test-Harness-3.28-3.el7.noarch.rpm
[root@CentOS Packages]# rpm -ivh automake-1.13.4-3.el7.noarch.rpm
[root@CentOS Packages]# rpm -ivh libtool-2.4.2-20.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh python-tempita-0.5.1-6.el7.noarch.rpm
[root@CentOS Packages]rpm -ivh pyOpenSSL-0.13.1-3.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh python-paste-1.7.5.1-9.20111221hg1498.el7.noarch.rpm
[root@CentOS Packages]# rpm -ivh python-beaker-1.5.4-10.el7.noarch.rpm
[root@CentOS Packages]# rpm -ivh python-markupsafe-0.11-10.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh python-mako-0.8.1-2.el7.noarch.rpm
[root@CentOS Packages]# rpm -ivh gobject-introspection-devel-1.42.0-1.el7.x86_64.rpm
第六步:pango-1.40.3安装 先说明镜像中含有pango和pango-devel的1.40.3版本,但是gtk+3.22.7需要1.37.3以上的版本,只能源码安装了。
[root@CentOS Packages]# rpm -ivh libicu-devel-50.1.2-15.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh harfbuzz-devel-0.9.36-1.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh libXft-devel-2.3.2-2.el7.x86_64.rpm
配置完成后出现会下面内容,输出$?值为0即配置正确。
第七步:gtk+-3.22.7安装,在配置过程中通过错误提示安装对应的rpm包。
配置错误No package ’epoxy‘ found 使用yum安装libepoxy-devel包(镜像中没有该包)
配置错误No package ’atk-bridge-2.0‘ found 这个atk-bridge和第二步安装的atk不是一回事,依次安装dbus-devel,
at-spi2-core-devel。命令如下:
[root@CentOS Packages]# rpm -ivh libXi-devel-1.7.4-2.el7.x86_64.rpm
[root@CentOS Packages]# yum install libepoxy-devel
[root@CentOS Packages]# rpm -ivh dbus-devel-1.6.12-13.el7.x86_64.rpm
[root@CentOS Packages]# rpm -ivh at-spi2-atk-devel-2.8.1-4.el7.x86_64.rpm
enable-introspection=no
终于装完了,大年初三那天晚上装完后,内心的小激动一晚上没有睡着觉
。