ubuntu移植glib庫

對於嵌入式開發人員來說,ubuntu 是一個應用範圍相當廣的linux操作系統了。通過該開源系統,實現一些列我們所想實現的衆多開發。然而純淨的ubuntu只是攜帶了很少的開源庫,要想在實際開發中使用到適合的開源庫或資源,我們就要在我們的ubuntu系統中移植我們所需要的資源庫。

glib庫是Linux平臺下最常用的C語言函數庫,它具有很好的可移植性和實用性。可以在多個平臺下使用,比如Linux、Unix、Windows等。glib庫封裝了基礎C語言的衆多功能,使得開發人員不用浪費過多的精力在基礎功能實現上,該庫包含了很好用的線程,線程池,隊列,同步隊列,內存管理,io通道,錯誤報告等衆多功能,我們可以在移植好glib庫後拿來即用,省去好多麻煩。

ubuntu移植glib庫方法步驟:

  1. 下載源碼包並解壓
    百度盤連接: https://pan.baidu.com/s/14NyovYt-0GEuJ6MyLo_PVQ
    提取碼:udle
    解壓命令: tar -xvf glib-2.57.3
  2. 進入源碼解壓路徑,直接對該庫進行配置 ./configure
    發現配置文件不適用 ,需要重新配置以下此配置文件
  3. 下載一個自動配置工具,自動編譯生成configure文件
    apt-get install autoconf 安裝自動編譯工具
    autoconf configure.ac 利用自動配置工具生成configure
    提示錯誤: configure.ac:66: error: possibly undefined macro:
    AM_INIT_AUTOMAKE If this token and others are legitimate,
    please use m4_pattern_allow. See the Autoconf documentation.
  4. 下載一些列需要的文件
    autoreconf --install
  5. 重新生成configure文件
    autoconf configure.ac
    成功生成configure文件
  6. 重新配置glib庫 配置文件
    ./configure
    報錯:No package ‘libffi’ found
  7. 下載lifffi裝到系統上,
    解壓 “lifffi”源碼包並安裝
    autoconf configure.ac 生成configure執行文件
    ./configure
    make 報錯:makeinfo: 未找到命令
    apt-get install texinfo
    makeinstall
  8. 重新配置glib庫配置文件
    ./configure
    報錯:error: *** Could not find libmount
  9. 下載libmount源碼並安裝
    下載libmount源碼 apt-get source libmount-dev
    配置libmount配置文件
    ./cdonfigure
    報錯: configure: error: ncurses or ncursesw selected, but library not found (–without-ncurses to disable)
    apt-get install libncurses5-dev libncursesw5-dev 安裝庫
    配置libmount配置文件
    ./cdonfigure 成功
    make 報錯: undefined reference to sysfs_init' ./configure --prefix=/home/zhoudy/util-linux-2.20.1/ --target=i686 --host=i686 make 報錯:undefined reference toget_linux_version’

發現安裝依賴庫還是比較多的,所以嘗其他方法。

可以通過直接加載庫文件的形式來使用glib庫,有可能由於2.57.3 的版本功能完善,所以安裝依賴比較多,對於使用者來說,一般的功能沒什麼差別,如果想知道版本之間的差別,可以在官網上看介紹,合理適用版本。

在網上查看資料,發現glib可以通過直接引用其頭文件的方式加以使用,,這樣的方式極大的方便了開發者的開發,省去了配置時間,非常實用。我自己下載了glib_2.44.1 版本用於安裝。

裝載glib_2.44.1

  1. 將glib庫頭文件直接拷貝到用戶頭文件文件夾內,或者編譯頭文件路徑加上該路徑
    cp -r /usr/local/include/glib-2.0/* /usr/include/
    cp /usr/local/lib/glib-2.0/include/glibconfig.h /usr/include/

  2. 編寫一個小程序哦那個來測試glib是否可用:
    #include <glib.h>
    int main()
    {
    g_printf(“test glib\n”);
    return 0;
    }

  3. 編譯程序測試:
    gcc test1.c -o test -lglib-2.0 -levent

運行測試文件,./test 發現能夠打印出test glib ,證明glib可用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章