文章转自:http://3y.uu456.com/bp_2x9mw8hpxp68ub00wpno_1.html
linux下更新GTK+到3.x;以Centos6.0(内核2.6.32);
1、所需要的库及一些必要的环境;C编译器(sudoyuminstallgcc);C++编译器g++(sudoyuminstall;X窗口系统库(sudoyuminstalllib;pkg-config工具(网站);GNUmake工具(网站);JPEG、PNG以及TIFF图形库(sud
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-devellibtiff-devellibpng-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 –modversiongtk+-2.0
注:不妨执行上面的命令看看 GTK+ 库是否已经在系统存在了;如果已经存在,注意它的版本号。还可以执行下面的命令查看使用 GTK+ 库时的编译和连接选项:
$ pkg-config –cflags –libs gtk+-2.0
通过显示出来的信息中的 -I 后面的路径可以大体知道 GTK+ 及其依赖库的安装位置。看看它们是不是都位于 /usr目录下。
4.1 系统上未安装 GTK+
通过上面的检查,如果发现系统上没有安装 GTK+,那问题就变得简单了:直接将 GTK+ 及其依赖库安装到 /usr目录下即可(至于如何把各个库的安装目录设置为 /usr,可参看下面有关的安装说明)。这样做的好处是:由于 /usr是系统目录,几乎不需要对安装的库进行什么设置就能够马上使用它们。
/usr 是一个重要的系统目录,应该尽量避免对这个目录进行写操作。因此,建议源码安装 GTK+ 不要将它安装在 /usr等系统目录下;可另选择一其它目录(具体参见下面的相关说明)。
4.2 系统上已安装 GTK+
如果系统中已经安装有 GTK+,要安装新版本的 GTK+ 时需要考虑的问题就多一些了。在 Linux 系统上使用的很多软件都是在 GTK+ 库的支持下运行的(比如 GNOME 桌面)。如果相关的 GTK+ 库发生损坏,或者库的版本发生了变化,轻微的可造成某些程序不能正常运行,严重的可能会给系统运行带来障碍(比如进入不了桌面环境,等等。)
因此,新版本的 GTK+ 的安装应该避免对原来的 GTK+ 造成影响,以保证系统的正常运行。这一点很容易做到:新版 GTK+ 的安装目录要避免和已经存在的 GTK+ 的目录一致。比如,如果旧版的 GTK+ 安装在 /usr目录下,新版 GTK+ 在设置安装目录的时候最好就不要设置为 /usr了。
一些人由于不了解这些情况,或者图方便,直接就把 GTK+ 安装在 /usr中、从而把原来的 GTK+ 库给替换了。由于 GTK+ 及其兼容库版本的变化以及可能在安装过程中产生的错误,很容易出现上面提到的问题,所以建议在安装新版 GTK+ 时,最好避开旧版 GTK+ 所在的目录。
GTK+ 安装在什么目录中为好呢?其实,这没有什么定论,可自行设置安装的目录。不过,一般的源码软件包默认的安装目录是 /usr/local,所以可以把这个目录设置为 GTK+ 的
安装目录,也可以是其它你认为合适的目录。在下面的示例安装中,我们使用的安装目录是 /opt/gtk,GTK+ 及其依赖库都将安装在这个目录下。
将 GTK+ 及其依赖库设置安装到同一个目录下(如 /opt/gtk)、而不是每一个库占用一个不同的目录,可以给以后的库的设置带来方便。而且,在将来不再需要这个版本的 GTK+ 及其依赖库的时候可以通过删除这个目录(如 /opt/gtk)将它们简单地去除。
和安装到 /usr目录中不同,如果将库安装到一个非系统目录中(比如我们将要使用的 /opt/gtk目录),只将库安装完成还是不够的,还必须要进行一些必要的设置才能使用这个新安装好的库。在下面的相关章节中讲对库的设置作具体说明。
按照上面“依赖软件包”一节中提供的说明和地址分别下载 GLib、Atk、Cairo、Pango、gdk-pixbuf、Gtk+ 这六个库。
可以先解压Gtk+包。然后执行
./configure –prefix=/opt/gtk
此时执行失败后会提示所需要的一些库
依赖关系:
gtk+依赖glib,atk,pango和cairo
安装glib,依赖pkg-config
atk等依赖glib
cairo依赖libpng,pixman,fontconfig
安装中以glib安装最为复杂
Glib依赖于pkg-config。这里假设pkg-config已经更新或者符合对应的版本要求
解压后进入目录执行下面的命令进行配置(以后安装的各个软件包的配置命令也是下面的形式):
$ ./configure –prefix=/opt/gtk
其中,configure 是在软件包中包含的一个脚本文件(是由 GNU Autotools工具产生
的),./configure 是执行这个脚本文件,用 –prefix 指明软件包的安装目录。这样,在随后的安装过程中(make install)会把相应的文件拷贝到它后面指定的目录下(/opt/gtk)。
注:可以用 ./configure –help 命令查看各个软件包中配置时提供的不同的参数选项和各个参数的意义。
注:一个库可以有两种存在形态:共享库(.so)和静态库(.a)。对于 GTK+ 及其依赖库,在源码安装的时候其默认设置是只生成共享库;如果需要静态库,应该在配置各个软件包的时候分别加上 –enable-static 参数(参见 ./configure –help)。开发 GTK 程序时一般应使用其共享库,可不安装静态库。
由于 Glib 只依赖于一些最基本的系统库,所以在执行配置的过程中应该不会出现任何问题才是。然而,对于 GTK+ 和其它依赖库,如果在配置过程中发现需要的程序或者库不存在,
或者版本不符合要求,都会显示相应的错误提示后异常中止配置过程。如果配置不成功,则不能继续进行下面的程序构建过程。
对新手来说,他们通常不清楚什么样的配置结果是成功的,什么是失败的。下面提供两种简单的检查配置是否成功的方法:
配置过程中输出的信息,除了显示在屏幕上之外,还记录在一个名为 config.log 的文件中。检查这个文件中是否有 configure: exit 0 这样的一句话(一般位于文件的后面部分或者最后一行)。如果是,说明配置成功;如果不是(比如 configure: exit 1)说明配置过程中出现了错误,配置失败。
在 ./configure 命令执行完毕后立即执行 echo $? 命令,检查它的输出结果。如果输出是 0,说明配置成功;0 之外的数字说明配置失败。在 Linux 系统上,可以用这个方法检查一个命令或程序在其结束后返回给系统的值是多少。一般 0 代表成功,非 0 表示程序异常退出。
6.2.3 构建
从源代码生成程序的过程称为构建(Build)。这里所说的“程序”是一个广义的概念:既可以是其一般意义上的二进制可执行程序(Program),也可以是一个文本形式的可执行脚本(Script),还可以是库(Library)、头文件(Header)、数据(Data)等等。一个软件包中往往包含以上一种或者多种形式的程序构建,其中以二进制可执行程序和库最为常见。
对于用编译型语言(如 C 或者 C++)写的程序来说(GTK+ 和它的一些依赖库就是用 C 语言写成的),软件的构建过程主要是编译和连接的过程。在 Linux 系统上,构建是通过执行 make 命令实现的:
$ make
make 是根据 Makefile的内容来决定如何构建程序的,而这个 Makefile就是上面配置的产物。执行 make 命令之后,程序的编译过程就开始了。这是一个比较耗时的过程,特别是对于一些大型的软件包(如 GTK+ 及其依赖库)来说更是这样。
make 结束后,也可以执行 echo $? 命令检查 make 是否执行成功。一般只要配置通过了,make 应该不会出现什么问题才是。
make 的结果,对于程序来说,主要生成的是可执行程序文件;对于库来说,主要生成的是库文件。下面的安装过程将把需要的文件拷贝到在配置时指定的安装目录中去。
6.2.4 安装
构建成功的软件包的安装是通过带 install 参数的 make 进行的:
$ make install
需要在此说明的是:在 Linux 系统,除了 root 用户和具有相应权限的用户之外,一般用户只有在自己的用户目录下才有写权限;对于用户目录之外的其它目录和文件,一般只能读而不能写。我们在配置的时候将设置的安装目录是 /opt/gtk,对于一般用户来说是只读的。如果是这样的话,上面的 make install 虽然被执行,但是由于没有写的权限,不能向这个目录中拷贝文件,所以安装是不成功的。
一般需要如下面这样先切换到 root 用户,然后再进行安装:
$ su
在执行完 make install 之后,也可以用 echo $? 检查是否执行安装成功。
如果此时查看 /opt/gtk目录,你会发现这个目录下又有几个子目录,如 bin、include、lib、share。这是因为每个库(如 Glib)又根据使用目的不同将安装文件进行了划分:bin 是执行文件目录,include 是头文件目录,lib 是库文件目录,share 是库的公用目录,包括本地翻译文件、各种格式的说明文档和例子程序等。
安装完成后,应该立即退出 root 用户,返回到原来的用户状态:
$ exit
root 用户权限应该仅在切实需要的时候才使用。很多初学者无论做什么都是以 root 进行,以为这样方便。其实对于新手而言这最是要不得,很容易由于误操作而损坏系统。即使只有你一个人使用一个 Linux 系统,也应该注册一个普通用户、平时以一个普通用户的身份使用系统。
6.2.5 设置
新手往往不清楚为什么要对库进行设置,要进行什么样的设置。为此,在下面介绍了一些有关库的设置的背景知识。如果已经了解了这部分内容,或者急于进行实际的设置操作,可直接转到最后一小节“GTK+ 及其依赖库的设置”。
6.2.5.1 搜索路径
上面的安装已经把库的各类文件拷贝到指定的安装目录中了,这个库也就可以被其它程序或者库来使用了。库的使用主要包括两方面的内容:对库的头文件的使用以及对库文件(静态库或共享库)的使用。相应地,库的设置也就是如何对这两类文件进行定位的问题。对文件进行定位通常是用设置文件的搜索路径的方法来解决的。在使用的过程中按照搜索路径的先后顺序查找,第一个找到文件将被使用。
库的头文件在程序中被包含使用,而且仅仅用在程序编译阶段,所以头文件的默认搜索路径是由编译器提供的。处于默认搜索路径内的头文件不需要进行搜索路径的设置即可直接使用。
虽然每个编译器提供的头文件的默认搜索路径不尽相同;库文件在连接(静态库和共享库)和运行(仅限于使用;在环境变量LD_LIBRARY_PATH中指明库;在/etc/ld.so.conf文件中添加库的搜;需要注意的是:第二种搜索路径的设置方式对于程序连;在程序连接时,对于库文件(静态库和共享库)的搜索;有的使用了共享库的程序,在编译和连接时都很顺利,;6.2.5
虽然每个编译器提供的头文件的默认搜索路径不尽相同,但是都把 /usr/include 作为默认的搜索路径之一。使用处于默认搜索路径之外的头文件需要在编译的时候通过编译命令的 -I 参数指定其路径。这是对头文件进行定位的方式。
库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。设置库文件的搜索路径有下列两种方式,可任选其一使用:
在环境变量 LD_LIBRARY_PATH 中指明库的搜索路径。
在 /etc/ld.so.conf文件中添加库的搜索路径。
需要注意的是:第二种搜索路径的设置方式对于程序连接时的库(包括共享库和静态库)的定位已经足够了,但是对于使用了共享库的程序的执行还是不够的。这是因为为了加快程序执行时对共享库的定位速度,避免使用搜索路径查找共享库的低效率,所以是直接读取库列表文件 /etc/ld.so.cache从中进行搜索的。/etc/ld.so.cache是一个非文本的数据文件,不能直接编辑,它是根据 /etc/ld.so.conf中设置的搜索路径由 /sbin/ldconfig命令将这些搜索路径下的共享库文件集中在一起而生成的(ldconfig命令要以 root 权限执行)。因此,为了保证程序执行时对库的定位,在 /etc/ld.so.conf中进行了库搜索路径的设置之后,还必须要运行 /sbin/ldconfig命令更新 /etc/ld.so.cache文件之后才可以。
在程序连接时,对于库文件(静态库和共享库)的搜索路径,除了上面的设置方式之外,还可以通过 -L 参数显式指定。因为用 -L 设置的路径将被优先搜索,所以在连接的时候通常都会以这种方式直接指定要连接的库的路径。
有的使用了共享库的程序,在编译和连接时都很顺利,但是在运行时却发生了找不到共享库的问题,其原因就是库的搜索路径没有设置,或者设置不正确。
6.2.5.2 编译和连接界面
一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的不同,造成了用 -I 参数指定的头文件的路径也可能不同,其结果就是造成了编译命令界面的不统一。如果使用 -L 参数,也会造成连接界面的不统一。编译和连接界面不统一会为库的使用带来麻烦。
为了解决编译和连接界面不统一的问题,人们找到了一些解决办法。其基本思想就是:事先把库的位置信息等保存起来,需要的时候再通过特定的工具将其中有用的信息提取出来供编译和连接使用。这样,就可以做到编译和连接界面的一致性。其中,目前最为常用的库信息提取工具就是下面介绍的 pkg-config。
6.2.5.3 pkg-config
pkg-config 是通过库提供的一个 .pc 文件获得库的各种必要信息的,包括版本信息、编译和连接需要的参数等。这些信息可以通过 pkg-config提供的参数单独提取出来直接供编译器和连接器使用。
在默认情况下,每个支持 pkg-config的库对应的 .pc 文件在安装后都位于安装目录中的 lib/pkgconfig目录下。例如,我们在上面已经将 Glib 安装在 /opt/gtk目录下了,那么这个 Glib 库对应的 .pc 文件是 /opt/gtk/lib/pkgconfig目录下一个叫 glib-2.0.pc 的文件(不妨看看这个文件的内容来获得对 .pc 文件的一些感性认识。)
使用 pkg-config的 –cflags参数可以给出在编译时所需要的选项,而 –libs 参数可以给出连接时的选项。例如,假设一个 sample.c的程序用到了 Glib 库,就可以这样编译:
$ gcc -c pkg-config --cflags glib-2.0
sample.c
然后这样连接:
$ gccsample.o -o sample pkg-config --libs glib-2.0
或者上面两步也可以合并为以下一步:
$ gccsample.c -o sample pkg-config --cflags --libs glib-2.0
可以看到:由于使用了 pkg-config工具来获得库的选项,所以不论库安装在什么目录下,都可以使用相同的编译和连接命令,带来了编译和连接界面的统一。
使用 pkg-config工具提取库的编译和连接参数有两个基本的前提:
库本身在安装的时候必须提供一个相应的 .pc 文件。不这样做的库说明不支持 pkg-config工具的使用。
pkg-config 必须知道要到哪里去寻找此 .pc 文件。
GTK+ 及其依赖库支持使用 pkg-config工具,所以剩下的问题就是如何告诉 pkg-config到哪里去寻找库对应的 .pc 文件,这也是通过设置搜索路径来解决的。
6.2.5.4 GTK+ 及其依赖库的设置
6.2.5.4.1 以编译和连接为目的的设置
对于支持 pkg-config工具的 GTK+ 及其依赖库来说,库的头文件的搜索路径的设置变成了对 .pc 文件搜索路径的设置。.pc 文件的搜索路径是通过环境变量 PKG_CONFIG_PATH 来设置的,pkg-config将按照设置路径的先后顺序进行搜索,直到找到指定的 .pc 文件为止。
Linux 中环境变量的设置方式和使用的 shell 有关。在这里是以 bash 为例进行说明的。如果你发现这里的环境变量的设置方法不能成功的话,应该检查你在当前的终端中使用的是什么 shell:
ps–no−headers–formatcomm $
注:如果 ps被定义为别名,可能需要执行 \ps –no-headers –format comm $$ 才行。
然后根据这种 shell 的环境变量的设置方法进行设置。如果系统中存在有 bash 的话,也可以将 shell 切换为 bash:
$ bash
这样就可以按照下面介绍的方法设置环境变量了。
安装完 Glib 后,在 bash 中应该进行如下设置:
exportPKGCONFIGPATH=/opt/gtk/lib/pkgconfig: PKG_CONFIG_PATH
可以执行下面的命令检查是否 /opt/gtk/lib/pkgconfig路径已经设置在 PKG_CONFIG_PATH 环境变量中:
echo PKG_CONFIG_PATH
这样设置之后,使用 Glib 库的其它程序或库在编译的时候 pkg-config就知道首先要到 /opt/gtk/lib/pkgconfig这个目录中去寻找 glib-2.0.pc 了(GTK+ 和其它的依赖库的 .pc 文件也将拷贝到这里,也会首先到这里搜索它们对应的 .pc 文件)。之后,通过 pkg-config就可以把其中库的编译和连接参数提取出来供程序在编译和连接时使用。
另外还需要注意的是:环境变量的设置只对当前的终端窗口有效。如果到了没有进行上述设置的终端窗口中,pkg-config将找不到新安装的 glib-2.0.pc 文件、从而可能使后面进行的安装(如 Glib 之后的 Atk的安装)无法进行。
6.2.5.4.2 以连接和执行为目的的设置
前面已经说明过了,库搜索路径的设置有两种方式:在环境变量 LD_LIBRARY_PATH 中设置以及在 /etc/ld.so.conf文件中设置。
其中,第二种设置方式需要 root 权限,以改变 /etc/ld.so.conf文件并执行 /sbin/ldconfig命令。而且,当系统重新启动后,所有的基于 GTK2 的程序在运行时都将使用新安装的 GTK+ 库。不幸的是,由于 GTK+ 版本的改变,这有时会给应用程序带来兼容性的问题,造成某些程序运行不正常。
为了避免出现上面的这些情况,在 GTK+ 及其依赖库的安装过程中对于库的搜索路径的设置将采用第一种方式进行。这种设置方式不需要 root 权限,设置也简单:
exportLDLIBRARYPATH=/opt/gtk/lib: LD_LIBRARY_PATH
可以用下面的命令查看 LD_LIBRAY_PATH 的设置内容:
echo LD_LIBRARY_PATH
至此,库的两种设置就完成了。
由于我们将 GTK+ 及其依赖库设置安装在同一目录中,所以上面的对环境变量
PKG_CONFIG_PATH 和 LD_LIBRAY_PATH 的设置在一个终端窗口中只要进行一次就可以了,以后安装其它库的时候不需要再行设置。
经过以上设置之后,使用了 Glib 的程序(如下面要安装的 Atk)就能够根据在
PKG_CONFIG_PATH 和 LD_LIBRAY_PATH 中设置的搜索路径找到新安装的 Glib 库了。如果不进行上面的设置,或者设置有误,可能找到的是旧版的 Glib,也可能出现找不到 Glib 的错误。
现在,可以执行下面的命令检查 Glib 的版本号:
$ pkg-config –modversion glib-2.0
如果显示的版本号和你进行安装的软件包中的版本号一致,则已经成功地完成了 Glib 库的安装和设置,可以继续进行其它库的安装了。
6.3 其它库的安装
在确认已经成功安装了 Glib 之后,可以顺次安装其它的库。
6.3.1 安装 Atk
参考“安装 Glib”一节中的操作进行。如果始终在同一个终端窗口中操作的话,最后的设置过程可不执行。检查 Atk的版本号:
$ pkg-config –modversionatk
6.3.2 安装 Cairo
参考“安装 Glib”一节中的操作进行。如果始终在同一个终端窗口中操作的话,最后的设置过程可不执行。检查 Cairo 的版本号:
$ pkg-config –modversioncairo
6.3.3 安装 Pango
参考“安装 Glib”一节中的操作进行。如果始终在同一个终端窗口中操作的话,最后的设置过程可不执行。检查 Pango的版本号:
$ pkg-config –modversionpango
注意:配置 Pango成功的另外一个标志是:在 ./configure 最后显示出来的一行信息 backends: FreeType X Xft Cairo 中应该有 Cairo 字样的出现。如果没有,比如象 backends: FreeType X Xft这样,说明 Pango的配置不成功;Pango配置不成功,说明其依赖库 Cairo 没有安装或者 Cairo 库的设置不正确。
6.3.4 安装 Gtk+
参考“安装 Glib”一节中的操作进行。如果始终在同一个终端窗口中操作的话,最后的设置过程可不执行。检查 GTK+ 的版本号:
$ pkg-config –modversiongtk+-3.0
7.1 库使用之前的设置
在我们采用的安装方案中,由于是使用环境变量对 GTK+ 及其依赖库进行的设置,所以当系统重新启动、或者新开一个终端窗口之后,如果想使用新安装的 GTK+ 库,需要如上面那样重新设置 PKG_CONFIG_PATH 和 LD_LIBRARY_PATH 环境变量。
这种使用 GTK+ 的方法,在使用之前多了一个对库进行设置的过程。虽然显得稍微繁琐了一些,但却是一种最安全的使用 GTK+ 库的方式,不会对系统上已经存在的使用了 GTK+ 库的程序(比如 GNOME 桌面)带来任何冲击。
为了使库的设置变得简单一些,可以把下面的这两句设置保存到一个文件中(比如 set_gtk-3.20 文件):
export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATHexport
LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
之后,就可以用下面的方法进行库的设置了(其中的 source 命令也可以用 . 代替):
$ source set_gtk-3.20
只有在用新版的 GTK+ 库开发应用程序、或者运行使用了新版 GTK+ 库的程序的时候,才有必要进行上述设置。
如果想避免使用 GTK+ 库之前上述设置的麻烦,可以把上面两个环境变量的设置在系统的配置文件中(如 /etc/profile)或者自己的用户配置文件中(如 ~/.bash_profile) ;库的搜索路径也可以设置在 /etc/ld.so.conf文件中,等等。这种设置在系统启动时会生效,从而会导致使用GTK+的程序使用新版的GTK+运行库,;7.2库文档;使用一个库免不了要参考库的文档;
导致使用 GTK+ 的程序使用新版的 GTK+ 运行库,这有可能会带来一些问题。当然,如果你发现用新版的 GTK+ 代替旧版没有什么问题的话,使用这种设置方式是比较方便的。
7.2 库文档
使用一个库免不了要参考库的文档。GTK+ 及其依赖库的各个库的参看文档也被安装,具体位置在安装目录的 share/gtk-doc/html 目录下分别存放。可以用浏览器分别打开每个目录中的 index.html,然后将其添加到网络书签中以便随时参考。