Centos搭建GTK+Codeblock完整版

一、所需的源码包
1. GNU make 工具
2. GNU gettext 软件包(当系统上没有 gettext() 函数的时候需要)
3. GNU libiconv 库(当系统上没有 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是可访问性工具箱(Accessibility Toolkit)的简称。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版本兼容的源码包都放在一个文件夹下。 例如我选择安装GTK v2.6,只要在ftp://ftp.gtk.org/pub/gtk/v2.6中下载各个包即可。不过选择V2.6的朋友要严重注意一个问题,支持GTK V2.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的设置,具体如下:
> export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
> export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH
注意,如果想要使用系统中已有的fontconfig、FreeType等库,需要加上系统原有的库:
> export LD_LIBRARY_PATH=/usr/lib
> export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
> export PKG_CONFIG_PATH=/usr/lib/pkgconfig
> export PKG_CONFIG_PATH=/usr/X11R6 /lib/pkgconfig:$PKG_CONFIG_PATH
> export PKG_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

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

(0)

相关推荐

  • Centos搭建GTK+Codeblock完整版

    一.所需的源码包 1. GNU make 工具 2. GNU gettext 软件包(当系统上没有 gettext() 函数的时候需要) 3. GNU libiconv 库(当系统上没有 iconv() 函数的时候需要) 4. fontconfig库 fontconfig 是提供系统范围内字体设置,定制和允许应用程序访问的函数库. 5. FreeType库 GTK+(基于DirectFB)的字体绘制是通过pango+freetype+fontconfig三者协作来完成的,其中, fontconf

  • python3环境搭建过程(利用Anaconda+pycharm)完整版

    Mac安装python3环境 首先我先给说明一下:我也是初次接触python,有一定的Java基础,对编程语法有一定基础,当然小菜在这里 全当小白来介绍操作,亲身经历整个搭建环境到开发的过程. 注意:我是以每一个新项目,单独新建一个环境开发,项目自己互不影响,项目所用到的库都是每一个环境中单独拥有的. 首先你需要准备软件工具: 电脑系统:Windows-64位系统 1.Anaconda 我的版本是3-4.2.0, 2.pycharm-professional-2017.1.2-Win开发工具 一

  • 动力节点_王勇_DRP项目视频教程完整版292集

    该视频由国内知名讲师王勇老师主讲,适合掌握Java基础内容的同学学习,本视频共计292集,该视频是Java培训领域中技术涉及面最广,讲解最透彻,资料最完整的视频,DRP视频在Java培训领域中产生了非常大的影响,学习Java Web项目,DRP项目视频是首选,累计下载量已经达到上千万,很多同学通过自学该视频找到了软件开发工作. 000_00_动力节点_王勇_Java项目视频_DRP完整版-视频观看说明 000_01_动力节点_王勇_Java项目视频_DRP完整版_资料_DRP所有版本及示例源代码

  • CentOS搭建PHP服务器环境简明教程

    本文实例讲述了CentOS搭建PHP服务器环境的方法.分享给大家供大家参考,具体如下: 1. 先安装apache: yum install httpd 配置ServerName vi /etc/httpd/conf/httpd.conf 将#ServerName www.example.com:80修改为ServerName localhost:80 外部机器此时输入服务器的IP地址,应该看到apache的服务页面,端口不用输,apache默认就是使用80端口 如打不开可能端口80未开启外部访问

  • Spring boot Mybatis 整合(完整版)

    本项目使用的环境: 开发工具: Intellij IDEA 2017.1.3 springboot: 1.5.6 jdk:1.8.0_161 maven:3.3.9 额外功能 PageHelper 分页插件 mybatis generator 自动生成代码插件 步骤: 1.创建一个springboot项目: 2.创建项目的文件结构以及jdk的版本 3.选择项目所需要的依赖 然后点击finish 5.看一下文件的结构: 6.查看一下pom.xml: <?xml version="1.0&qu

  • Java实现人脸识别登录、注册等功能(最新完整版)

    目录 前言: 难度分析: 项目回顾(百度云AI) 最终效果演示: 技术选型: 项目需求分析 项目搭建 注意事项(项目搭建前了解) 项目总结 前言: 这段时间由于学校实行静态化管理,寝室门和校门都是用了人脸识别的装置,每次经过都会激发我的好奇心,也想自己搞一个人脸识别玩玩,随着开始查找资料来研究这方面的信息,还好有好几家公司都有提供这方面的免费API,也是省下来很多功夫.一开始采用的是face++,但是在执行到最后一步人脸搜索时出现问题,一直提示INVALID_OUTER_ID,跟着官方文档,一步

  • centos搭建部署docker环境的详细步骤

    目录 1.Docker的存在解决的问题 1.1 统一标准 1.2 资源隔离 2.Docker的建构 3.安装Docker 1.卸载以前安装的docker 2.配置yun源 3.安装docker 4.启动docker并设置为开机自启 5.查看一下当前的docker运行状态 6.随便使用一个命令验证 7.配置镜像加速 总结 1.Docker的存在解决的问题 1.1 统一标准 应用构建:我们写的应用可能使用了不同的编程语言,例如:Java.C++.JavaScript等,这些应用最终打成软件包,有的是

  • Centos搭建vsftp服务器的方法

    VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全. 下面重点给大家介绍Centos搭建vsftp服务器的方法,具体内容如下所示: 1.首先yum安装vsftp server   以3.0.2为例 命令:yum -y install vsftpd 2.配置文件  vsftp.conf 具体配置内容如下: anonymous_enable=NO local_enable=YES write_

  • centos 搭建ftp服务器详解及简单介绍

    centos 搭建ftp服务器 1.安装vsftpd sudo yum install vsftpd 2.配置vsftpd.conf # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # When SELinux is enforcing check for SE bool ftp_home_dir local_enable=YES write_ena

  • javascript贪吃蛇完整版(源码)

    javascript贪吃蛇完整版 注释完整,面向对象 复制代码 代码如下: <html><head>    <title>贪吃蛇 Snake v2.4</title><style>    body{        font-size:9pt;    }    table{        border-collapse: collapse;        border:solid #333 1px;    }    td{        heigh

随机推荐