天天看點

mp4v2源碼編譯并移植到海思平台

一,步驟 1.從網站下載下傳源碼

https://launchpad.net/ubuntu/artful/+source/mp4v2

參考“嵌入式Linux下MP4視訊錄制庫MP4V2移植和簡介 - 嵌入式天地 - CSDN部落格 http://blog.csdn.net/wavemcu/article/details/40660309 ”

mp4v2源碼編譯并移植到海思平台

2.放到海思平台編譯程式所用的虛拟機中 , 使用 tar -jxvf xxxx.tar.bz2 解壓,生成mp4v2-2.0.0檔案夾。

mp4v2源碼編譯并移植到海思平台

3.在/usr/local下建立安裝目标目錄mp4v2 這個目錄名自定義的,/usr/local路徑也可以自己選擇放别處,一般bin檔案都預設在這個位置。并且授權。

mp4v2源碼編譯并移植到海思平台
mp4v2源碼編譯并移植到海思平台

4. 然後進入到mp4v2源碼目錄下,執行指令 CC= arm-hisiv100nptl-linux-gcc CXX= arm-hisiv100nptl-linux-g++ ./configure --host= arm-hisiv100nptl-linux --prefix= /usr/local/mp4v2 一直check并且配置,如果沒有fail或error說明執行成功。

mp4v2源碼編譯并移植到海思平台

解析 CC= arm-hisiv100nptl-linux-gcc CXX= arm-hisiv100nptl-linux-g++ ./configure --host= arm-hisiv100nptl-linux --prefix= /usr/local/mp4v2 備用:( CC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++ ./configure --host=arm-hisiv100nptl-linux --prefix=/usr/local/mp4v2 --disable-option-checking --disable-debug --disable-optimize --disable-fvisibility --disable-gch --disable-largefile --disable-util --disable-dependency-tracking --disable-libtool-lock ) 參考(arm-linux 交叉編譯 mp4v2 http://blog.csdn.net/lh2016rocky/article/details/70861822 )

mp4v2源碼編譯并移植到海思平台

①.選擇交叉編譯器,找到交叉編譯鍊目錄。因為 mp4v2 源碼是基于window的intel架構,是以内部程式格式需要對應到linux端的arm架構,需指定交叉編譯器。之前虛拟機的交叉編譯鍊已經安裝好了,現在隻要把 mp4v2 源碼的配置檔案configure指定到先前安裝的交叉編譯鍊環境就可以。使用echo $PATH或cat /etc/profile可以檢視交叉編譯鍊的環境變量對應的交叉編譯器安裝的目錄。(添加環境鍊的目的是友善全局操作,不用每次編譯都調用目錄)

mp4v2源碼編譯并移植到海思平台
mp4v2源碼編譯并移植到海思平台

②. 這個指令

mp4v2源碼編譯并移植到海思平台

5.完成後,會在\mp4v2-2.0.0目錄下生成GNUmakefile檔案 ,授權該檔案: chmod 777 /opt/mp4v2-2.0.0 -R 修改 GNUmakefile檔案中CFLAGS項 ,為 CFLAGS = -s -O3 -fPIC -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -mapcs-frame

mp4v2源碼編譯并移植到海思平台

6.然後在在\mp4v2-2.0.0目錄下執行 : make clean;make;make install 等一會執行完成。 7.檢視生成的庫檔案大小和格式,確定正确

mp4v2源碼編譯并移植到海思平台

二,後期實驗 1.在一的步驟中,省去步驟5,發現也可以用于海思平台的錄像。開始後,不會導緻裝置重新開機。 2.在一的步驟中,步驟4裡,将執行指令 ( CC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++ ./configure --host=arm-hisiv100nptl-linux --prefix=/usr/local/mp4v2 --disable-option-checking --disable-debug --disable-optimize --disable-fvisibility --disable-gch --disable-largefile --disable-util --disable-dependency-tracking --disable-libtool-lock ) 中的 --disable-optimize 換成 --enable-optimize ,生成的庫用在海思平台的錄像上,開始後,裝置會重新開機。

需交流的話,可發郵箱:[email protected]