新聞中心

        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"



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东明县| 乾安县| 温泉县| 亳州市| 尉氏县| 长葛市| 芦山县| 东乌珠穆沁旗| 乌拉特后旗| 建湖县| 都江堰市| 达孜县| 马尔康县| 廉江市| 濮阳县| 大连市| 阿合奇县| 炉霍县| 南昌县| 务川| 蒙阴县| 集贤县| 库车县| 丰原市| 泰来县| 正安县| 杭锦后旗| 交口县| 余姚市| 茂名市| 叶城县| 互助| 黎城县| 黄石市| 汉源县| 合江县| 达孜县| 岑溪市| 紫金县| 建阳市| 响水县|