• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 交叉編譯場景分析(arm-linux)(八)

    交叉編譯場景分析(arm-linux)(八)

    ——
    作者: 時間:2007-04-18 來源:http://blog.csdn.net/absurd 收藏
    1.基本信息:

    軟件名稱
     glib
     
    功能簡述
     Glib是GNOME的一個基礎庫,提供基本的容器、算法、對象系統、OSAPI的適配器等。
     
    下載地址
     http://www.gtk.org
     
    軟件版本
     glib-2.8.0.tar.gz
     
    依賴關系
     默認
     
    前置條件
     源文件位置:$(WORK_DIR)/ glib-2.8.0
     

     

    2. 過程分析

    下載的穩定版本,configure已經存在,直接進行配置:

    [root@linux glib-2.8.0]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr

                     

    出現了如下錯誤:

    checking for growing stack pointer... configure: error: cannot run test program while cross compiling 

     

    原來configure不能為交叉編譯檢查glib_cv_stack_grows,glib_cv_stack_grows表示堆棧的增長方向。configure無法在目標機上運行測試程序,自然無法檢查,只好手工指定。順便看一下還哪些相關的變量不能檢查的,一起寫到cache文件中,并重新配置:

    [root@linux glib-2.8.0]# echo ac_cv_type_long_long=yes>$ARCH-linux.cache

    [root@linux glib-2.8.0]# echo glib_cv_stack_grows=no>>$ARCH-linux.cache

    [root@linux glib-2.8.0]# echo glib_cv_uscore=no>>$ARCH-linux.cache

    [root@linux glib-2.8.0]# echo ac_cv_func_posix_getpwuid_r=yes>>$ARCH-linux.cache

    [root@linux glib-2.8.0]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr --cache-file=$ARCH-linux.cache

     

    這回配置成功了,編譯:

    [root@linux glib-2.8.0]# make && make install

     

    編譯成功!

     

    3.  構建處方 

            glib.mk

    GLIB_DIR="glib-2.8.0"

     

    all: clean config build

     

    config:

        @cd $(GLIB_DIR) && 

        echo ac_cv_type_long_long=yes>$$ARCH-linux.cache && 

        echo glib_cv_stack_grows=no>>$$ARCH-linux.cache && 

        echo glib_cv_uscore=no>>$$ARCH-linux.cache && 

        echo ac_cv_func_posix_getpwuid_r=yes>>$$ARCH-linux.cache &&

        ./configure --host=$$ARCH-linux --prefix=$$ROOTFS_DIR/usr --cache-file=$$ARCH-linux.cache && 

        echo "config done"

        

    build:

        @cd $(GLIB_DIR) && 

        make && make install && 

        echo "build done"

        

    clean:

        @cd $(GLIB_DIR) && 

        if [ -e Makefile ]; then make distclean; fi && 

    echo "clean done"



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 香河县| 六安市| 唐海县| 渑池县| 乌海市| 西林县| 从化市| 宜州市| 托克逊县| 阿尔山市| 河间市| 怀仁县| 班玛县| 且末县| 碌曲县| 定远县| 卢氏县| 峨边| 璧山县| 云和县| 慈利县| 石楼县| 乐清市| 晴隆县| 壶关县| 酒泉市| 定边县| 财经| 慈利县| 阳春市| 正蓝旗| 红桥区| 定日县| 桐柏县| 大连市| 云和县| 思南县| 宾阳县| 郧西县| 沙洋县| 商城县|