首先: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+的官网没事多看看):

             

centos gtk 是什么 centos7安装gtk3_python

3、yum命令安装,既然Packages里面有几乎全部的rpm包干嘛还使用yum命令?实际安装包过程中,包的依赖包太多,依赖包又需要

                  大量其他的依赖包,容易搞混,使用一个yum命令轻松搞定。


                  gtk+的过程中还会用到其他的参数用到时候再做说明。


                  命令,include下是C语言的头文件,就是.h文件,lib里面就是一些库文件,share就是一些说明文档、帮助文档,就是是用man命

                  令是出来的帮助。

在安装GTK+之前先介绍GTK+所需要的每一个依赖包或者库的作用,下面这张图很详细说明了GTK+的构成:

             

centos gtk 是什么 centos7安装gtk3_官网_02

绘画的) 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即配置正确。

                

centos gtk 是什么 centos7安装gtk3_Linux   GTK_03

第七步: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


                 

centos gtk 是什么 centos7安装gtk3_python_04

终于装完了,大年初三那天晚上装完后,内心的小激动一晚上没有睡着觉