• <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 收藏

    編譯libjpeg和libpng

    1.         基本信息:

    軟件名稱
     libjpeg
     
    功能簡述
     libjpeg一個jpeg圖形編碼解碼程序庫
     
    下載地址
     http://www.photopost.com/jpegsrc.v6b.tar.gz
     
    軟件版本
     jpegsrc.v6b.tar.gz
     
    依賴關系
     默認
     
    前置條件
     源文件位置:$(WORK_DIR)/ jpeg-6b
     

     

    2.         過程分析

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

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

     

    OK,配置成功,編譯:

    [root@linux jpeg-6b]# make && make install

     

    哦,不對,怎么還是用gcc編譯的,而不是用arm-linux-gcc編譯的呢?看來--host沒有生效,還是試試老方法-設置CC環境變量吧:

    [root@linux jpeg-6b]# export CC=arm-linux-gcc

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

     

    OK,配置成功,編譯:

    [root@linux jpeg-6b]# make && make install

     

    OK,編譯成功。

     

    3.         構建處方

    l         jpeg.mk

     

    JPEG_DIR="jpeg-6b"

     

    all: clean config build

     

    config:

        @cd $(JPEG_DIR) && 

        export CC=arm-linux-gcc && 

        ./configure --prefix=$$ROOTFS_DIR/usr && 

        echo "config done"

        

    build:

        @cd $(JPEG_DIR) && 

        make && make install && 

        echo "build done"

        

    clean:

        @cd $(JPEG_DIR) && 

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

        echo "clean done"

     

    1.         基本信息:

    軟件名稱
     libpng
     
    功能簡述
     libpng一個png圖形編碼解碼程序庫
     
    下載地址
     http://www.libpng.org/pub/png/libpng.html
     
    軟件版本
     libpng-1.2.8-config.tar.gz
     
    依賴關系
     默認

    zlib
     
    前置條件
     源文件位置:$(WORK_DIR)/ libpng-1.2.8-config
     

     

    2.         過程分析

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

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

                     

    出現了如下錯誤:

    configure: error: ZLib not installed

     

    奇怪,zlib已經編譯過了啊。為什么configure找不到zlib呢?設置一下環境變量CFLAGS和LDFLAGS試試,Makefile一般都通過CFLAGS來設置額外的編譯選項,通過LDFLAGS來設置額外的連接選項,configure大概也遵循這個規則吧。

    [root@linux libpng-1.2.8-config]# export LDFLAGS=-L$ROOTFS_DIR/usr/local/lib

    [root@linux libpng-1.2.8-config]# export CFLAGS=-I$ROOTFS_DIR/usr/local/include

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

     

    OK,配置成功,編譯:

    [root@linux libpng-1.2.8-config]# make && make install

                     

    OK,編譯成功。

     

    3.         構建處方

    l         png.mk

     

    PNG_DIR="libpng-1.2.8-config"

     

    all: clean config build

     

    config:

        @cd $(PNG_DIR) && 

        export LDFLAGS=-L$$ROOTFS_DIR/usr/local/lib && 

        export CFLAGS=-I$$ROOTFS_DIR/usr/local/include && 

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

        echo "config done"

        

    build:

        @cd $(PNG_DIR) && 

        make && make install && 

        echo "build done"

        

    clean:

        @cd $(PNG_DIR) && 

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

    echo "clean done"



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 建瓯市| 普安县| 蓬溪县| 上思县| 库伦旗| 黄冈市| 铜梁县| 方山县| 昆山市| 垫江县| 钦州市| 武乡县| 西青区| 正安县| 乌什县| 鄢陵县| 平泉县| 邹平县| 城固县| 六盘水市| 漠河县| 阿合奇县| 临颍县| 文安县| 抚顺县| 大宁县| 阳高县| 商南县| 来凤县| 紫金县| 额尔古纳市| 成武县| 乌拉特前旗| 安仁县| 武宣县| 库车县| 宿迁市| 饶平县| 元氏县| 泽普县| 黄龙县|