linux下更新GTK+到3.x.docx
文本预览下载声明
linux下更新GTK+到3.x
以Centos 6.0(内核2.6.32)
1、所需要的库及一些必要的环境
C 编译器(sudo yum install gcc)
C++编译器g++(sudo yum install gcc-c++)
X 窗口系统库(sudo yum install libXext)
pkg-config 工具(网站)
GNU make 工具(网站)
JPEG、PNG 以及 TIFF 图形库(sudo yum install libjpeg-devel libtiff-devel libpng-devel)
FreeType(网站)
fontconfig 库(网站)
XInput库(sudo yum install libXi-devel)如果没有装这个会在编译GTK+时失败。提示找不到xinput.h
GNU libiconv 库(当系统上没有 iconv() 函数的时候需要)(网站)
GNU gettext 软件包(当系统上没有 gettext() 函数的时候需要)(网站)
GLib 库
ATK 库
Cairo 库
Pango 库
Gdk-pixbuf库
GTK+ 库
2、具体说明
GTK+和最后6库关系密切,更新也较快,通常一个 GTK+ 的版本会依赖于这些库的一些特定的版本。也就是说,GTK+ 的安装实际上主要是 GLib、Atk、Cairo、Gdk-pixbuf、Pango 和 Gtk+ 这六个库的安装。
另外pkg-config 的变动较大,新版本的 GTK+ 的安装需要新版 pkg-config 的支持,否则可能会使安装过程失败。因此,要在安装 GTK+ 之前检查 pkg-config 的版本号。如果版本过低,一定要对它进行版本更新。至于 GTK+ 安装时对 pkg-config 的最低版本要求,可以在 GTK+ 下载目录的 dependencies 目录中找到对应的 pkg-config 软件包,从软件包上提供的版本信息中获得确认。
3、安装准备
检查软件是否存在
获得软件的版本号,从中可以了解软件的新旧程度,是决定软件是否需要更新的依据
软件包大致可分为两种类型:程序和库。类型不同,查看版本号的方式也不同。
对于可运行的程序命令来说,查看版本号的方式是在执行命令后加上 --version 参数。例如,对于 pkg-config 来说,其过程是这样的:
$ pkg-config --version
注:你现在应该执行上面的命令查看 pkg-config 的版本号,并按照上面所述检查是否符合安装相应的 GTK+ 的最低版本要求。如果不符合要求,在进行下面的 GTK+ 及其依赖库的安装之前应该首先安装和更新 pkg-config。
对于库来说,如果它支持使用 pkg-config,则可以使用 pkg-config 来查看其版本号。例如,对于 GTK+ 2.0 库来说,可以这样:
$ pkg-config --modversion gtk+-2.0
注:不妨执行上面的命令看看 GTK+ 库是否已经在系统存在了;如果已经存在,注意它的版本号。还可以执行下面的命令查看使用 GTK+ 库时的编译和连接选项:
$ pkg-config --cflags --libs gtk+-2.0
通过显示出来的信息中的 -I 后面的路径可以大体知道 GTK+ 及其依赖库的安装位置。看看它们是不是都位于 /usr 目录下。
4. 安装规划
4.1 系统上未安装 GTK+
通过上面的检查,如果发现系统上没有安装 GTK+,那问题就变得简单了:直接将 GTK+ 及其依赖库安装到 /usr 目录下即可(至于如何把各个库的安装目录设置为 /usr,可参看下面有关的安装说明)。这样做的好处是:由于 /usr 是系统目录,几乎不需要对安装的库进行什么设置就能够马上使用它们。
/usr 是一个重要的系统目录,应该尽量避免对这个目录进行写操作。因此,建议源码安装 GTK+ 不要将它安装在 /usr 等系统目录下;可另选择一其它目录(具体参见下面的相关说明)。
4.2 系统上已安装 GTK+
如果系统中已经安装有 GTK+,要安装新版本的 GTK+ 时需要考虑的问题就多一些了。在 Linux 系统上使用的很多软件都是在 GTK+ 库的支持下运行的(比如 GNOME 桌面)。如果相关的 GTK+ 库发生损坏,或者库的版本发生了变化,轻微的可造成某些程序不能正常运行,严重的可能会给系统运行带来障碍(比如进入不了桌面环境,等等。)
因此,新版本的 GTK+ 的安装应该避免对原来的 GTK+ 造成影响,以保证系统的正常运行。这一点很容易做到:新版 GTK+ 的安装目录要避免和已经存
显示全部