ARM下一些常用庫的移植

2021-06-18 10:33:36 字數 3247 閱讀 9492

一些庫在各個專案經常重用.如jpeg,freetype,iconv 等.每次大型專案均會反覆重用.因此按照原來專案規範,一般都放在專案libs目錄下,但後來發現,每個專案都做重複操作.也完全沒有必要.因為現在是將其歸綱到乙個comm_lib公用資訊.

以下是常用庫的arm-linux移植,我是放在/home/hxy/common_lib 目錄下.按到移植規範,輸出在 output/arm-linux下,庫本身在 libs 下面.

以下是常見庫的移植.在這裡留作教學和備份用.

通用類1.zlib庫移植

--------解壓 tar xvzf zlib-1.2.3.tar.gz

--------cd zlib-1.2.3

--------生成makefile(注意zlib只能靜態,動態分開編譯,因此要生成兩次makefile和兩次編譯和安裝)

生成靜態庫 ./configure --prefix=$pwd/output/arm

export cc=arm-linux-gcc cpp="arm-linux-gcc -e" ar="arm-linux-ar rc" ranlib=arm-linux-ranli   生成動態庫 ./configure --shared --prefix=$pwd/output/arm

export cc=arm-linux-gcc cpp="arm-linux-gcc -e" ar="arm-linux-ar rc" ranlib=arm-linux-ranlib

--------編譯 make

--------安裝 make install

影象類1.jpeg庫,用於jpeg影象處理

解壓 tar xvzf jpegsrc.v6b.tar.gz

cd jpeg-6b

生成makefile

./configure --enable-shared --enable-static --host=arm-linux --prefix=$pwd/../../output/arm-linux

編譯 make

安裝 make install

注意這個庫的安裝程式有bug,不會自動建立發布的lib,include,man等,因此要手工建立,要不先把其它庫做好,再安裝這個庫

mkdir -p /home/hxy/common_lib/output/arm-linux/include 

mkdir -p /home/hxy/common_lib/output/arm-linux/lib 

mkdir -p /home/hxy/common_lib/output/arm-linux/man/man1

2.png 用於png影象顯示

主頁解壓 tar xvjf libpng-1.2.19.tar.bz2

cd libpng-1.2.19

生成makefile

./configure --host=arm-linux --enable-shared --enable-static --prefix=$pwd/../../output/arm-linux

編譯 make

安裝 make install

3.tiff庫 ,(tiff格式顯示)

官網 解壓 tar xvzf tiff-3.8.2.tar.gz

cd tiff-3.8.2

生成makefile

./configure --host=arm-linux --enable-shared --enable-static --enable-jpeg --enable-zlib --prefix=$pwd/../../output/arm-linux

編譯 make

安裝 make install

音訊類2.mad

官網 解壓 tar xvzf libmad-0.15.1b.tar.gz

cd libmad-0.15.1b

生成makefile(標準)

./configure --host=arm-linux --enable-shared --enable-static --prefix=$pwd/../../output/arm-linux

去掉makefile中-fforce-mem

因為arm-linux-gcc不認識這個選項,編譯提示 error: unrecognized command line option "-fforce-mem"

編譯make

安裝 make install

3.id3tag:讀取***資訊

官網 解壓 tar xvzf libid3tag-0.15.1b.tar.gz

cd libid3tag-0.15.1b

生成makefile(標準)

./configure --host=arm-linux --enable-shared --enable-static --prefix=$pwd/../../output/arm-linux

編譯 make

安裝 make install

主頁:解壓 tar xvzf freetype-2.3.11.tar.gz

cd freetype-2.3.11

生成makefile (標準)

./configure --host=arm-linux --enable-shared --enable-static --prefix=$pwd/../../output/arm-linux

編譯make

安裝 make install

4.ogg 一種音訊解碼格式

解壓 tar xvzf libogg-1.1.4.tar.gz

cd libogg-1.1.4

生成makefile (標準)

./configure --host=arm-linux --enable-shared --enable-static --prefix=$pwd/../../output/arm-linux

編譯make

安裝 make install

文字編碼類

1.iconv庫 用於文字編碼轉換

主頁 :     

解壓 tar xvzf libiconv-1.13.1.tar.gz

cd libiconv-1.13.1

生成makefile (標準)

./configure --host=arm-linux --enable-shared --enable-static --prefix=$pwd/../../output/arm-linux

編譯make

安裝 make install

2. freetype:開源高質理字型顯示函式庫

Linux下一些常用的命令

如果經常性的要打一些重複命令 不妨用alias給它們重新命名到乙個簡單的命令。例如我要登陸一台機器。首先要跳轉到目錄,然用bash指令碼登陸。如果目錄很長的話每次記憶和輸入都會很麻煩 1 cd desktop somewhere 2 login.sh 如果使用alias則 首先到bash profi...

Python requests庫的一些常用方法

首先,確定url。這裡,我們定義url為bugku中的乙個題目 import requests 這個和request不一樣,這是兩個不同的庫 url 此時,我們可以使用requests的乙個方法 r request.get url 相當於在 欄輸入了這個url此時的r為乙個物件。第二,proxies...

ubuntu下一些常用軟體的安裝

1 uml 建模軟體 sudo apt get install umbrello 注 感覺這個有點大,我的安裝資訊如下所示 2 流程圖繪製軟體 sudo apt get install dia 3 學電腦打字的練習軟體 sudo apt get install tuxtype ktouch 4 安裝...