zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Centos搭建GTK+Codeblock完整版

centos 搭建 完整版 gtk
2023-06-13 09:14:16 时间
一、所需的源码包
1.GNUmake工具
2.GNUgettext软件包(当系统上没有gettext()函数的时候需要)
3.GNUlibiconv库(当系统上没有iconv()函数的时候需要)
4.fontconfig库
fontconfig是提供系统范围内字体设置,定制和允许应用程序访问的函数库。
5.FreeType库
GTK+(基于DirectFB)的字体绘制是通过pango+freetype+fontconfig三者协作来完成的,其中,fontconfig负责字体的管理和配置,freetype负责单个字符的绘制,pango则完成对文字的排版布局。Freetype是一个操作字体的函数库,它不但可以处理点阵字体,也可以处理多种矢量字体,包括truetype字体,为上层应用程序提供了一个统一的调用接口。
6.libpng库
libpng软件包包含libpng库,这些库被其他程序用于读写png文件。PNG库是用来创立和操作PNG格式的图形文件.PNG格式是设计来替代GIF,它对于更小范围的TIFF(标记图象文件格式)来说,有了很多的进步和拓展并且减少了关于专利权的麻烦.
7.jpegsrc库
能够使用JPEG算法压缩文件。
8.tiff库
tiff库被很多程序用于读写tiff文件。
9.pkg-config工具
pkgconfig包括pkg-config程序,用来在编译脚本中向编译器传递头文件包含路径或库文件路径。
对于支持pkg-config工具的GTK+及其依赖库来说,库的头文件的搜索路径的设置变成了对.pc文件搜索路径的设置。.pc文件的搜索路径是通过环境变量PKG_CONFIG_PATH来设置的,pkg-config将按照设置路径的先后顺序进行搜索,直到找到指定的.pc文件为止。
10.GLib库
GLib是GTK+和GNOME工程的基础底层核心程序库,创建GDK和GTK应用程序时该库可提供许多有用的定义和函数,是一个综合用途的实用的轻量级的C程序库,它提供C语言的常用的数据结构的定义、相关的处理函数,有趣而实用的宏,可移植的封装和一些运行时机能,如事件循环、线程、动态调用、对象系统等的API。
11.ATK库
ATK包包含了ATK库。ATK是可访问性工具箱(AccessibilityToolkit)的简称。ATK为所有的GTK2程序提供了解决Accessibility需求的框架。
12.Cairo库
Cairo,是一个跨平台的开放源代码的矢量图形函数库,可以提供高质量的显示和打印输出。Cairo提供一个稳定的用户层API,它可以提供现代化的图形处理管理能力,如绘制和填充,映射转换,合成(注意,是合成)与改变alpha半透明图像,高真文本显示等等。能够在不同的媒体上实现相同的输出。
13.Pango库
Pango库提供了底层的文本编排绘制生成函数,一套生成整段文本布局的高层函数和帮助编辑多国文本的函数。
14.GTK+库
其中前五项一般比较新的Linux版本中,系统都会自带。需要注意的一个问题是如果GTK的安装路径为/opt/gtk时,在PKG_CONFIG_PATH中除了要添加/opt/gtk/lib/pkgconfig之外,还有加上/usr/lib/pkgconfig。因为安装在系统的库其.pc文件都在/usr/lib/pkgconfig中,想要在安装GTK时用到这些系统自带的库时,必须把路径设置清楚。
在收集安装GTK所需的源码包时最重要,也是最容易忽略的一个问题就是各个包之间版本的匹配问题。我在安装GTK就忽略了这个问题,结果走了很多弯路。解决这个问题最简单的办法就是登陆GTK+的网站":ftp://ftp.gtk.org/pub/gtk,在上面下载各种源码包。在这个站点上,每个GTK版本兼容的源码包都放在一个文件夹下。例如我选择安装GTKv2.6,只要在ftp://ftp.gtk.org/pub/gtk/v2.6中下载各个包即可。不过选择V2.6的朋友要严重注意一个问题,支持GTKV2.6的pango包有两个版本-1.8.0、1.8.1,1.8.0是一个失败的版本,如果选择它,在安装GTK时就会死活找不到pango库。我当时就是这个版本的受害者,花了很长时间也无法在安装GTK时连接pango库,后来在网上看到一个老外说这个版本有bug,只能使用1.8.1版本。妈的!这不坑人吗!
根据依赖关系的要求,库的安装要按照这样的先后顺序进行:GLib、Atk、Cairo、Pango、Gtk+。
二、设置
主要包括对LD_LIBRARY_PATH和PKG_CONFIG_PATH的设置,具体如下:
>exportLD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
>exportPKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH
注意,如果想要使用系统中已有的fontconfig、FreeType等库,需要加上系统原有的库:
>exportLD_LIBRARY_PATH=/usr/lib
>exportLD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
>exportPKG_CONFIG_PATH=/usr/lib/pkgconfig
>exportPKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig:$PKG_CONFIG_PATH
>exportPKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH
容易被人忽略的一点是LD_LIBRARY_PATH和PKG_CONFIG_PATH这两个环境变量只对当前的终端窗口有效。如果到了没有进行上述设置的终端窗口中,pkg-config将找不到新安装库的.pc文件、从而可能使后面进行的安装无法进行。(自己犯的一个简单却造成严重后果的错误,吐血提醒大家哦)
三、源码包的安装
我安装的GTK版本为v2.6,用到的源码包包括:jpegsrc.v6b.tar.gz、libpng-1.2.8.tar.bz2、tiff-v3.6.1.tar.gz、pkgconfig-0.15.0.tar.gz、glib-2.6.6.tar.bz2、atk-1.9.0.tar.bz2、cairo-1.2.4.tar.gz、pango-1.8.1.tar.bz2、gtk+-2.6.9.tar.bz2。把它们都放在root的主目录下。
将GTK+及其依赖库设置安装到同一个目录/opt/gtk下、而不是每一个库占用一个不同的目录,可以给以后的库的设置带来方便。而且,在将来不再需要这个版本的GTK+及其依赖库的时候可以通过删除这个目录将它们简单地去除。
1.安装pkgconfig

>tarzxvfpkgconfig-0.15.0.tar.gz
>cd/root/pkgconfig-0.15.0
>./configure
>make
>makeinstall
每个过程结束后,都可以用用echo$?检查是否执行安装成功。如果输出是0,说明配置成功;0之外的数字说明配置失败。在Linux系统上,可以用这个方法检查一个命令或程序在其结束后返回给系统的值是多少。一般0代表成功,非0表示程序异常退出。
2.安装glib
>tarzjvfglib-2.6.6.tar.bz2
>cd/root/glib-2.6.6
>./configure--prefix=/opt/gtk
>make
>makeinstall
3.安装atk
>tarzjvfatk-1.9.0.tar.bz2
>cd/root/atk-1.9.0
>./configure--prefix=/opt/gtk
>make
>makeinstall
4.安装cairo
>tarzxvfcairo-1.2.4.tar.gz
>cd/root/cairo-1.2.4
>./configure--prefix=/opt/gtk--with-x--enable-win32=no
>make
>makeinstall
5.安装Pango
>tarzxvfcairo-1.2.4.tar.gz
>cd/root/cairo-1.2.4
>./configure--prefix=/opt/gtk--libdir=/opt/gtk/lib--with-x
>make
>makeinstall
6.安装libpng
>tarzjvflibpng-1.2.8.tar.bz2
>cd/root/libpng-1.2.8
>makeprefix=/opt/gtk\ZLIBINC=/opt/gtk/includeZLIBLIB=/opt/gtk/lib-fscripts/makefile.linux
>makeprefix=/opt/gtkinstall-fscripts/makefile.linux
7.安装libtiff(就是tiff)
>tarzxvftiff-v3.6.1.tar.gz
>cd/root/tiff-v3.6.1
>./configure--prefix=/opt/gtk--noninteractive\--with-DIR_MAN=/opt/gtk/share/man
>make
>makeinstall
8.安装libjpeg(就是jpegsrv)
>tarzxvfjpegsrc.v6b.tar.gz
>cd/root/jpeg-6b
>./configure--enable-static--enable-shared--prefix=/opt/gtk
>make
>makeinstall
注:jpeg默认不sharelibrary,因此要手工指定--enable-shared,一般安装lib时这一点都是要注意的。
10.安装gtk
>tarzjvfgtk+-2.6.9.tar.bz2
>cd/root/gtk+-2.6.9
>./configure--prefix=/opt/gtk--with-x--without-libjpeg
>make
>makeinstall
四、检验是否正确安装GTK
为了检验是否正确安装GTK,利用GTK编写一个简单的程序,这个程序创建200x200大小的窗口
五:linux平台下编译安装wxGTK(以wxGTK-2.6.2为例)
下载wxGTK-2.6.2.tar.gz,所在位置http://www.wxwidgets.org。
下载后,输入如下命令进行安装:
tarzxvfwxGTK-2.6.2.tar.gz
cdwxGTK-2.6.2
./configure--enable-xrc--enable-monolithic--enable-unicode
make
makeinstall
如果没有错误提示,说明安装比较顺利,在编译过程比较慢。
3、库文件路径指向正确
因为,我们在安装wxGTK时没有指定路径,因此,wxGTK被装到了/usr/local/lib下,当然如果指向了路径,
即加入“-prefix=/usr”这个参数后,可以省略这一步。
库文件路径指向方法:
vi/etc/ld.so.conf
在文件最后输入:
/usr/local/lib
加入后,运行:
/sbin/ldconfig
4、安装验证
可以通过以下操作的输出检查安装是否正确:
wx-config--prefix
wx-config--libs
whichwx-config
5.下载Code::Block
在http://www.codeblocks.org/downloads/下载
下载地址:http://ncu.dl.sourceforge.net/sourceforge/codeblocks/codeblocks-8.02-src.tar.bz2
下载后输入如下命令进行安装:
tarjxfcodeblocks-8.02-src.tar.bz2
cdcodeblocks-8.02
./configure?prefix=/usr
make
makeinstall
如果没有错误提示,说明安装比较顺利,在编译过程比较慢。
6、启动并创建快捷方式
在桌面上点鼠标右键,选择“创建启动器”,并输入如下路径:
/usr/bin/codeblocks
注:搭建完成后,如不能运行codeblocks,请把selinux关闭重新启动然后再试下.
本文出自“自由之家”博客,
出处http://yuliang.blog.51cto.com/626833/276195