• <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-17 來源:http://blog.csdn.net/absurd 收藏
    1.基本信息:

    .         過程分析

    因為是cvs版本,所以先要生成configure腳本,tslib提供了一個autogen.sh文件,自然是用autogen.sh去產生了。運行:

    [root@linux tslib]# ./autogen.sh

     

    出現了如下錯誤:

    : bad interpreter: No such file or directory

     

    打開autogen.sh文件,發現了沒有任何錯誤,猜想可能是一些不可見的非法字符引起的,用二進制方式打開該文件,發現它是dos格式的。需要轉換成unix格式的。

     

    索性用dos2unix把整個目錄都轉一遍。另外發現沒有NEWS README AUTHORS 三個文件,為了避免出錯,產生三個空文件:

    [root@linux tslib]# touch NEWS README AUTHORS。

     

    重新運行:

    [root@linux tslib]# ./autogen.sh

     

    一切OK!

     

    現在來做真正的配置:

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

     

    配置成功,但make時,出現下列錯誤:

    ts_test.o(.text+0x218): In function `main':

    : undefined reference to `rpl_malloc'

     

    在當前目錄查找了rpl_malloc,發現configure里有#define malloc rpl_malloc一行。分析configure 腳本相關的代碼,原來是ac_cv_func_malloc_0_nonnull引起的,OK我們不讓它檢查了,產生一個cache文件arm-linux.cache,欺騙configure:

    [root@linux tslib]# echo "ac_cv_func_malloc_0_nonnull=yes" >$ ARCH -linux.cache

    [root@linux tslib]# ./configure --prefix=$(ROOTFS_DIR)/usr --host=$ ARCH -linux --cache-file=$ ARCH -linux.cache

     

    配置成功后,重新編譯一下,OK!

     

    3.         構建處方

    l         tslib.mk

    TSLIB_DIR="tslib"

     

    all: clean config build

     

    config:

        @cd $(TSLIB_DIR) && find * -exec dos2unix {} ; && 

        touch NEWS README AUTHORS && 

        ./autogen.sh && 

        echo "ac_cv_func_malloc_0_nonnull=yes" >$$ARCH-linux.cache && 

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

        echo "config done"

     

    build:

        @cd $(TSLIB_DIR) && 

        make && make install && 

        echo "build done"

    clean:

        @cd $(TSLIB_DIR) && 

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

    echo "clean done"



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 怀集县| 兴海县| 隆林| 绥中县| 双牌县| 瑞丽市| 四子王旗| 稻城县| 阿克| 临颍县| 永福县| 衡东县| 澄江县| 三门峡市| 汤原县| 察哈| 华容县| 土默特左旗| 红原县| 扎鲁特旗| 信阳市| 南皮县| 福建省| 壶关县| 长阳| 泰顺县| 栾川县| 自治县| 蒙城县| 长岭县| 蒲江县| 漳浦县| 麻阳| 新干县| 锦屏县| 清水河县| 潍坊市| 普兰县| 灵川县| 陆良县| 囊谦县|