亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

CentOS7.0源代碼安裝GTK+3.22.7

2019-11-14 10:28:46
字體:
來源:轉載
供稿:網友

首先:C代碼的源碼安裝必須要安裝gcc的編譯器,CentOS7.0裝好之后默認是不安裝gcc編譯器的。

            安裝gcc:rpm -ivh gcc-4.8.5-4.el7.x86_64.rpm    

            安裝上g++:rpm -ivh gcc-c++-4.8.5-4.el7.x86_64.rpm

下面介紹安裝GTK+要用到的rpm包、源碼壓縮包、yum安裝命令、./configure(配置)時用到的參數以及安裝了那些東西,安裝位置:

           1、rpm包在CentOS光盤的Packages文件夾中又幾乎全部的rpm包,上面安裝編譯器的包就是從Packages文件夾中找到的,基本不用另

                 外下載。查找某個rpm包命令:ls -l | grep [xxxx]

           2、源代碼壓縮包在GTK+官網上需要Glib2.50,ATK2.22,Gdk-Pixbuf2.36,GObject-Introspection1.50,Pango1.40,GTK+3.22

                 六個源代碼壓縮包,實際安裝過程中由于依賴關系存在還可能需要其他的源代碼包,等用到再作說明。GTK+官網所需源碼包截

                 圖(GTK+的官網沒事多看看):

             

            3、yum命令安裝,既然Packages里面有幾乎全部的rpm包干嘛還使用yum命令?實際安裝包過程中,包的依賴包太多,依賴包又需要

                  大量其他的依賴包,容易搞混,使用一個yum命令輕松搞定。

            4、源碼安裝庫或者程序是./configure這一步一般不用給出參數,大不了給出--PRefix=/opt/gtk+參數更改默認的安裝位置,安裝

                  gtk+的過程中還會用到其他的參數用到時候再做說明。

            5、安裝位置:在gtk+的安裝過程中,所有源碼安裝的文件都默認安裝在/usr/local下的bin,include,lib,share。bin下是二進制的可執行

                  命令,include下是C語言的頭文件,就是.h文件,lib里面就是一些庫文件,share就是一些說明文檔、幫助文檔,就是是用man命

                  令是出來的幫助。

在安裝GTK+之前先介紹GTK+所需要的每一個依賴包或者庫的作用,下面這張圖很詳細說明了GTK+的構成:

             

             1)Glib:The GLib library provides core non-graphical(繪畫的) functionality(功能) such as high level data types, Unicode 

                               manipulation(操作、控制), and an object and type system to C programs(GTK+官網對Glib庫的介紹)。其實就

                               是linux平臺下常用的C語言函數庫,提供了C語言的常用數據結構的定義、相關的處理函數,有趣而實用的宏,可

                               以值的封裝和一些運行時機能,如事件循環、線程、動態調用、對象系統等的API。

             2)ATK:ATK is the accessibility(易接近、可達的) Toolkit(工具包). It provides a set of generic(一般的) interfaces allowing 

                              accessibility technologies such as screen readers to interact (互動)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的介

                                          紹)。做界面開發嗎,專門處理圖片的。

            5)Gobject-Introspection:is a framework for making introspection(自我反省; 內省) 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安裝:

            1)zlib-devel,光盤鏡像中有 [root@CentOS Packages]# rpm -ivh zlib-devel-1.2.7-15.el7.x86_64.rpm

            2)libffi-devel,光盤鏡像中有 [root@CentOS Packages]# rpm -ivh libffi-devel-3.0.13-16.el7.x86_64.rpm

            3)libmount-devel,鏡像中也含有該包,不過有依賴關系,依賴關系并不多,可以嘗試一個個手動裝上去,為了方便使用yum命

                  令 [root@CentOS Packages]# yum install libmount-devel

            4)pcre庫光盤中沒有需要到官網http://www.pcre.org/下載源代碼包。具體分4步進行:

                 1、配置./configure --enable-utf-8 --enable-unicode-properties   其中給出的配置參數是防止在glib在make是出現The system-

                       supplied PCRE does not support unicode properties or UTF-8的錯誤。

                 2、構建make

                 3、安裝make install(氣質就是把這些二進制命令、頭文件、庫文件、幫助文檔拷貝到安裝目錄對應的文件夾下) 注意使用root權

                       限。

                 4、配置PKG_CONFIG_PATH環境變量    安裝庫文件時都會在安裝目錄的lib/pkgconfig目錄下生成.pc文件,這個.pc文件記錄著庫的

                       名稱、版本、安裝路徑等信息(有興趣的話可以找到文件打開看看)。配置PKG_CONFIG_PATH變量就是告訴pkg-config程序除了

                       在系統默認路徑下搜索.pc文件,還要到用戶配置的目錄下搜索.pc文件。后面還會有一個LB_LIBRARY_PATH變量,用到時再作

                       說明。配置如下:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

            5)1至4步只是把要安裝glib的準備工作做完,正式開始源碼安裝glib,也是分4步:

                 1、./configure  想要改變安裝路徑的話就加--prefix=參數,本次安裝過程中不需要。

                 2、make

                 3、make install  在該文件夾下沒有吸入權限的話,使用root權限

                 4、配置環境變量  此時不僅要配PKG_CONFIG_PATH,還有LD_LIBRARY_PATH,該變量的作用是在編譯期間或者程序運行期間所需

                       要的動態庫路徑,配置如下:                

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATHexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

                       如果沒有配置LD_LIBRARY_PATH變量,發現在后續的gtk+安裝中會出現’pkg-config --modversion glib-2.0‘ returned 

                       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安裝,在前面的基礎上進行配置、構建、安裝,不會出現任何問題。

            1)./configure 不用給出配置參數,除非你要改變安裝路徑

            2)make

            3)make install

第三步:安裝cairo開發包,關于cairo有2個開發包要裝。1、cairo-devel 2、cairo-gobject-devel

            1)cairo-devel包光盤中有,但是依賴關系真的很多,好吧!所以使用yum安裝

                  [root@CentOS Packages]# yum install cairo-devel

            2)cairo-gobject-devel包光盤中有,直接安裝

                  [root@CentOS Packages]# rpm -ivh cairo-gobject-devel-1.14.2-1.el7.x86_64.rpm

第四步:gdk-pixbuf-2.36.4安裝

             1)需要3個依賴包libtiff-devel,libjpeg-turbo-devel,libpng,libpng-devel。鏡像中都有,直接安裝

[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

                   其中第3行卸載的較新版的libpng,第4行安裝了低版本的libpng,主要是為了配對對應的-devel開發包;注意第3步的--nodepes

                   不顧及依賴關系的卸載包不要隨便使用,僅在這里本人試過幾次沒什么大問題,若是其他包的卸載就不一定了,我就遇到過,比

                   如終端打不開,--nodepes用的時候要慎重。

            2)固定的3步:配置、構建、安裝;至于PKG_CONFIG_PATH、LD_LIBRARY_PATH環境變量前面已經配過,在同一個終端下不用再

                  配。

                 1、./configure

                 2、make

                 3、make install

第五步:gobject-introspection-1.50安裝,鑒于CentOS7.0中gobject-introspection-1.42包已經被安裝,只要把光盤中對應的-devel包裝

               上就行了,不安裝1.50版本的也行。gobject-introspection-devel有依賴關系,按順序安裝。

            1)依賴包順序是m4、perl-Data-Dumper、autoconf、perl-Thread-Queue、perl-Test-Harness、automake、libtool;

                  python-tempita、pyOpenSSL、python-paste、python-beaker、python-markupsafe、python-mako(這些包鏡像中都有)

[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

          2)鏡像中有gobject-introspection-devel-1.42.0-1.el7.x86_64.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以上的版本,只能源碼安裝了。

            1)安裝依賴包libicu-devel、harfbuzz-devel、libxft-deve

[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

          2)傳統的3步搞定,./configure、make、makeinstall,環境變量在前面已經配過,同個終端下不用再配。

                配置完成后出現會下面內容,輸出$?值為0即配置正確。

                

第七步:gtk+-3.22.7安裝,在配置過程中通過錯誤提示安裝對應的rpm包。

            1)配置錯誤XIput2 extension not found    安裝libXi-devel包

                  配置錯誤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

           2)經典的3步:配置、構建、安裝。其中為例在make時不出現Couldn't find include 'GdkPixbuf-2.0.gir'問題,使用./configure --

                 enable-introspection=no

           3)查看gtk+的版本:

                 

終于裝完了,大年初三那天晚上裝完后,內心的小激動一晚上沒有睡著覺微笑。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩在线免费观看| 国产精品亚洲自拍| 亚洲男人天堂九九视频| 欧美黑人视频一区| 亚洲欧美制服另类日韩| 国产精品亚洲片夜色在线| 亚洲人线精品午夜| 色先锋资源久久综合5566| 韩剧1988在线观看免费完整版| 懂色aⅴ精品一区二区三区蜜月| 久久精品福利视频| 92国产精品久久久久首页| 欧美激情亚洲激情| 日韩二区三区在线| 亚洲成人亚洲激情| 亚洲精品久久视频| 亚洲欧美日韩直播| 少妇精69xxtheporn| 超碰97人人做人人爱少妇| 少妇av一区二区三区| 日韩专区在线观看| 91久久久久久| 国产91热爆ts人妖在线| 国产91成人video| 国产精品日韩电影| 大伊人狠狠躁夜夜躁av一区| 668精品在线视频| 国产一区二区久久精品| 久久男人av资源网站| 日韩大陆欧美高清视频区| 亚洲欧美一区二区精品久久久| 宅男66日本亚洲欧美视频| 成人国产精品久久久久久亚洲| 亚洲福利视频专区| 亚洲精品wwwww| 精品日韩美女的视频高清| 日韩中文在线中文网三级| 精品福利在线观看| 91色琪琪电影亚洲精品久久| 中文字幕在线看视频国产欧美| 精品国偷自产在线视频| 91高潮精品免费porn| 啊v视频在线一区二区三区| 欧美一区亚洲一区| 中文字幕亚洲欧美在线| 亚洲国产精品字幕| 亚洲一区二区三区sesese| 国产成人亚洲综合91精品| 国产精品av免费在线观看| 欧美与黑人午夜性猛交久久久| 久久99亚洲热视| 欧美—级高清免费播放| 欧美电影在线免费观看网站| 亚洲欧美中文在线视频| 欧美成年人视频| 琪琪亚洲精品午夜在线| 成人免费在线视频网站| 色老头一区二区三区在线观看| 色视频www在线播放国产成人| 国产精品福利观看| 国产精品精品视频一区二区三区| 菠萝蜜影院一区二区免费| 亚洲电影免费观看高清完整版在线观看| 欧洲精品久久久| 国产精品第3页| 亚洲影院在线看| 亚洲国语精品自产拍在线观看| 狠狠色狠色综合曰曰| 亚洲精品福利免费在线观看| 国产91在线播放九色快色| 久久久久久久国产精品| 亚洲丝袜一区在线| 国产91久久婷婷一区二区| 97色在线视频观看| 欧美日韩国产综合新一区| 国产成人精品亚洲精品| 深夜福利91大全| 亚洲人成欧美中文字幕| 国产精品6699| 欧美亚洲另类激情另类| 国产欧美日韩免费看aⅴ视频| 欧美在线性视频| 成人国产精品色哟哟| 国产精品自拍偷拍视频| 欧美另类极品videosbest最新版本| 亚洲免费一在线| 永久555www成人免费| 26uuu国产精品视频| 最新中文字幕亚洲| 中文字幕免费精品一区高清| 国产成人av在线播放| 91成人免费观看网站| 中文字幕欧美视频在线| 91在线观看免费高清完整版在线观看| 久久久亚洲影院你懂的| 久久视频这里只有精品| 亚洲精品乱码久久久久久金桔影视| 亚洲加勒比久久88色综合| 亚洲大胆人体视频| 国产精品一区av| 国产精品第100页| 欧美成人四级hd版| 欧美日韩亚洲精品一区二区三区| 国产精品老牛影院在线观看| 国产精品高潮呻吟久久av无限| 欧美在线视频网| 亚洲国产小视频在线观看| 国产精品第100页| 国产精品黄色av| 国产一区二区色| 海角国产乱辈乱精品视频| 亚洲精品国产精品国产自| 久久青草精品视频免费观看| yw.139尤物在线精品视频| 久久韩剧网电视剧| 欧美床上激情在线观看| 日韩成人免费视频| 中文字幕日韩av综合精品| 亚洲xxxx在线| 国产日韩欧美在线播放| 亚洲精品久久久久中文字幕欢迎你| 精品日韩中文字幕| 亚洲视频视频在线| 一区二区欧美久久| 日韩电影在线观看永久视频免费网站| 欧美色另类天堂2015| 欧美一区二区三区精品电影| 日韩在线中文字幕| 久久精品99久久久久久久久| 韩国19禁主播vip福利视频| 8x拔播拔播x8国产精品| 久久精品中文字幕电影| 国产91精品久久久久| 热久久免费视频精品| 欧美一区二区影院| 国产成人小视频在线观看| 国产精品成人免费视频| 日韩大片免费观看视频播放| 日韩av黄色在线观看| 欧美另类极品videosbest最新版本| 亚洲国产精品高清久久久| 亚洲欧美自拍一区| 色婷婷综合久久久久中文字幕1| 久久中文字幕在线视频| 久热精品在线视频| 国产一区二区三区在线看| 欧美黄色片在线观看| 欧美色播在线播放| 最近2019中文字幕大全第二页| 精品中文字幕视频| 日韩专区在线观看| 欧美日韩久久久久| 亚洲一区二区日本| 97在线精品视频| 91麻豆国产语对白在线观看| 欧美影院在线播放| 成人美女免费网站视频| 26uuu亚洲伊人春色| 国产在线精品一区免费香蕉| 欧美另类第一页| 久久影视电视剧凤归四时歌| 成人欧美在线观看| 日韩精品在线视频美女| 久久久精品视频在线观看|