1. 程式人生 > >Glib庫的安裝和編譯

Glib庫的安裝和編譯

Glib概述
Glib是一個多種用途的工具庫,它提供許多有用的資料型別,巨集定義,型別變換,字串工具,檔案工具,主迴圈的抽象等等。它可以用於許多類-UNIX平臺、Windows,OS/2和BeOS中。GLib在GNU庫通用公共許可(GNU LGPL)下發布。
GLib的主要策略是除了資料結構管理功能以外所有的功能都是執行緒安全的。如果你有兩個執行緒關聯絡統的資料結構,他們必須使用鎖來同步他們的操作。

1 編譯GLib包
編譯GLib包-如何編譯GLib自身
1.1 UNIX下編譯
在UNIX中,GLib使用標準的GNU編譯系統,使用autoconf進行包的配置和解決可移植性問題,automake用於編譯符合GUNU編碼標準的makefile檔案,libtool用於多個平臺上編譯共享庫。編譯和安裝GLib庫的正常次序如下:
# ./configure
# make
# make all
由GNU autoconf提供的標準選項可以被傳遞給configure指令碼。請檢視autoconf文件,或者執行./configure --help獲得關於標準選項的資訊。
GTK+文件包括關於編譯過程和方法的更詳細資訊。
1.2 依賴關係

在你編譯GLib庫之前,你需要把一些其它的工具和庫安裝到系統中。在編譯過程中需要兩個工具是pkg-config和GNU make。
* pkg-config是用於跟蹤GLib庫中使用的各種庫需要的編譯標誌的工具;
Glib依賴的許多其它庫,包括:
* libiconv庫:字符集轉換庫
* libintl庫:處理訊息轉換資料庫
* pthread庫:執行緒實現庫
* PCRE庫:正則表示式庫
* libselinux庫:Linux安全庫
1.3 其它的配置選項
GLib庫支援的configure指令碼選項有:
configure [[--enable-debug=[no|minimum|yes]]] [[--disable-gc-friendly] | [--enable-gc-friendly]] [[--disable-mem-pools] | [--enable-mem-pools]] [[--disable-threads] | [--enable-threads]] [[--with-threads=[none|posix|dce|win32]]] [[--disable-regex] | [--enable-regex]] [[--with-pcre=[internal|system]]] [[--disable-included-printf] | [--enable-included-printf]] [[--disable-Bsymbolic] | [--enable-Bsymbolic]] [[--disable-gtk-doc] | [--enable-gtk-doc]] [[--disable-man] | [--enable-man]] [[--disable-xattr] | [--enable-xattr]] [[--disable-selinux] | [--enable-selinux]] [[--disable-dtrace] | [--enable-dtrace]] [[--disable-systemtap] | [--enable-systemtap]] [[--enable-gcov] | [--disable-gcov]] [[--with-runtime-libdir=RELPATH]]

2 編譯GLib應用程式
2.1 UNIX下編譯Glib應用程式
為了編譯GLib應用程式,你需要告訴編譯器那裡找到GLib的標頭檔案和動態庫,這裡使用pkg-config工具來完成。
下面互動式shell會話顯示pkg-config如何使用:
# pkg-config --cflags glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
# pkg-config --libs glib-2.0
-L/usr/lib -lm -lglib-2.0
如果你的應用使用執行緒或者GObject特徵,它必須下面pkg-config返回標頭檔案和庫來編譯和連線。
# pkg-config --cflags --libs gthread-2.0
# pkg-config --cflags --libs gobject-2.0
如果你的應用程式使用模組,使用下面pkg-config獲得的標頭檔案和庫檔案
# pkg-config --cflags --libs gmodule-export-2.0
# pkg-config --cflags --libs gmodule-2.0
最簡單的編譯程式的方法是使用shell的“backticks”功能。如果你把命令放置在backtick之間,那麼它的輸出將替代執行前的命令列,因此編譯GLib helloworld的命令如下:
# cc `pkg-config --cflags --libs glib-2.0` hello.c -o hello
如果你希望確保你的程式沒有使用任何deprecated功能,你可以使用命令列選項-DG_DISABLE_DEPRECATED=1定義預編譯符號G_DISABLE_DEPRECATED。
使用Glib被推薦的方式是隻包括三個頂級標頭檔案glib.h,glib-object.h,gio.h。仍然,這裡有一些例外,下面這些標頭檔案必須分別包括:gmodule.h,glib/gi18n-lib.h或glib/gi18n.h,glib/gprintf.h和glib/gstdio.h。
從2.17版本開始,當單獨的標頭檔案直接被包含時,Glib強制產生錯誤。為了幫助過度,預設的情況下不開啟強制。如果要開啟強制功能,通過使用命令列選項-DG_DISABLE_SIGNLE_INCLUDES來定義預編譯符號G_DISABLE_SIGNLE_INCLUDES.

相關推薦

Glib安裝編譯

Glib概述Glib是一個多種用途的工具庫,它提供許多有用的資料型別,巨集定義,型別變換,字串工具,檔案工具,主迴圈的抽象等等。它可以用於許多類-UNIX平臺、Windows,OS/2和BeOS中。GLib在GNU庫通用公共許可(GNU LGPL)下發布。 GLib的主要策

centos7 mysql數據安裝配置

web 大小 images etc 安裝mysql 安裝 commands 0 rows type 一、系統環境 yum update升級以後的系統版本為 [[email protected]/* */ yl]# cat /etc/redhat-relea

第二百七十五節,MySQL數據安裝介紹

關閉 離線 har 內存 query 命令 臨時 rdb 執行文件 MySQL數據庫安裝 一、概述 1、什麽是數據庫 ? 答:數據的倉庫,稱其為數據庫 2、什麽是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ? 答:他們均是一

(一)在Linux上安裝編譯OpenCV3.0.0

接口 mac os color 下載源 同時 beta c函數 install mkdir OpenCV的全稱是:Open Source Computer Vision Library。OpenCV是一個基於(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、W

達夢數據安裝創建表

數據庫安裝 tails get details 輸入 運行 sdn 操作 article 1.達夢數據庫安裝 2.達夢命令行sql工具   進去達夢數據庫安裝目錄下的/bin目錄   運行./disql   輸入用戶名和密碼: 默認的管理用戶SYSDBA 的初始密碼是SYS

Oracle 11g數據安裝卸載教程

manager 路徑 內存 size alc ftw 單例 code ice Oracle11g的安裝教程 同時解壓縮兩個zip文件,生成一個database文件夾,進入到database文件夾,點擊setup 去掉安全更新的選項,直接下一步 選擇創建和配置數

Ubuntu17.10下安裝編譯caffe問題總結

心血來潮想玩玩caffe,看到官網的這句話果斷就用了Ubuntu17.10 沒錯,如果你使用的是Ubuntu17.04以上的版本,那麼安裝caffe的時候只要 sudo apt install caffe-cpu 去GitHub上clone

Ubuntu18.04LTS下基於 Anaconda3 安裝編譯 Caffe-GPU

這篇部落格為在Ubuntu18.04上基於 Anaconda3 安裝編譯 Caffe-GPU的詳細教程中第三步。由於教程之詳細,放在一篇部落格中影響閱讀體驗,所以按照安裝順序分為了三個部分,具體每一部分點開連結即可訪問。 一、Ubuntu18.04下Anaconda3的安裝與配置 二

centos7下opencv3.4.1 的安裝編譯全解

opencv是個跨平臺計算機視覺庫, 始於Intel的研究中心,並且在俄羅斯得到實現和優化,但intel現在似乎又是主要的維護者。 一、下載和安裝 1、下載網址:https://opencv.org/     注意系統版本。 2、linux下依賴庫

Java安裝編譯

安裝 下載jdk 安裝jdk或者解壓 配置環境變數或檔案 Windows系統下  下載jdk     windows下下載類似 jdk-xuxxx-windows-x64.exe,如jdk-8u161-windows-x64.e

window下protobuf3 的安裝編譯

1、在GitHub上選擇protobuf,gmock,gtest原始碼 https://github.com/google/protobuf https://github.com/google/go

Snappy壓縮安裝使用之一

 近日需要在畢業設計中引入一個壓縮庫,要求壓縮與解壓縮速度快,但是壓縮率可以不那麼苛刻。查詢資料發現Google的snappy庫比較合適,而且該庫開源,由C++寫成。所以就拿來使用一下,下面權作記錄。下面引出的任何涉及Google公司的原始碼,版權歸Google公司所有,

新版本的bettercap不好用, 如何安裝編譯舊版本的bettercap

  新版本的bettercap2.0以上是用go語言寫的, 各種功能感覺還不太完善, 沒有原來的用ruby寫的好, 想著回退安裝bettercap1.6舊版本   系統環境:     kali 2017.2   下載原始碼: git clone https://github.com/sqqihao

Nginx的YUM安裝編譯安裝

用Nginx官網YUM源來安裝Nginx和編譯安裝。環境:Centos 6.4 YUM安裝 首先建立nginx.repo檔案 vim /etc/yum.repos.d/nginx.repo 輸入以

linux 下 curses 安裝 使用

curses庫是用來開發簡單圖形介面程式一個庫(也許它的功能不止這些,但是目前我只知道這一個!:)。 Ubuntu下安裝方法: sudo apt-get install libncurses5-dev curses的基本用法如下: 1. 包含標頭檔案:curses.h 2. 編譯時應加上鍊接語句-lcurs

pydbg的安裝編譯過程

文章一: http://www.glamenv-septzen.net/en/view/13 Yesterday I tried installing pydbg and pydasm on my notepc. pydasm is popular, famous libr

Python環境搭建及第三方安裝解除安裝

因預處理醫學影象資料需要用到以下的Python庫 SimpleITK;Anaconda;PIL (Python Imaging Library),故重新安裝Python和第三方庫。 一、安裝Python 二、 Anaconda科學計算包 Python

[hadoop系列]hadoop-gpl-compression的安裝編譯

從Hadoop 0.20.X開始,由於lzo壓縮格式GPL形式授權的影響,lzo壓縮從hadoop釋出包中取消,轉而成為Google Code中的一個專案hadoop-gpl-compression 。本文介紹hadoop-gpl-compression的安裝和編譯。這裡

caffe2 Windows安裝編譯

目前caffe2已經被廢棄併入pytorch,作為caffe和tensorflow的擁蹩,奉勸大家不要在不成熟的非主流技術上浪費時間了.相信你能搜到本文來也是想著caffe2能有一番作為的,很遺憾,它讓大家失望了. caffe2是caffe升級的版本,但和caffe並不

mrpt在win8.1 64bit + vs2013環境下的安裝編譯

【宣告:大部分內容來自軒小宸】 win7 32bit見:http://www.cnblogs.com/xuanxiaochen/p/5996896.html 一、環境 windows 8.1 64bit,VS2013 (如果沒有特殊原因,建議所有軟體都安裝到預設