一、準備工作 1、x264庫源碼下載地址:http://www.videolan.org/developers/x264.html 作者目前的版本是x264-snapshot-20160511-2245 2、編譯器arm-none-Linux-gnueabi-gcc 二、編譯步驟 1、解壓安裝包 tar -xzvf last_x264.tar.bz2 cd x264-snapshot-20160511-2245 2、修改配置文件 ./configure --disbale-asm 注意:這里加了--disable-asm選項是因為arm-none-linux-gnuabi工具鏈是沒(méi)有匯編器,所以禁止此選項 由于未指定--prefix,所以程序會(huì )默認安裝/usr/local/bin目錄下 3、修改config.mak 主要是將相關(guān)選項修改為arm-none-linux-gnuabi相關(guān)的配置,修改內容如下: SYS_ARCH=ARM CC=arm-none-linux-gnueabi-gcc CFLAGS=-Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -Wall -I. -I$(SRCPATH) -std=gnu99 -D_GNU_SOURCE -fomit-frame-pointer -fno-tree-vectorize LD=arm-none-linux-gnueabi-gcc -o 4、make 5、make install 我的本意是想生成lib264.a靜態(tài)庫的,很奇怪,在x264-snapshot-20160511-2245目錄下可以找到lib264.a和lib264.so及相關(guān)的頭文件,但是沒(méi)有在/usr/lib/local目錄下找到libx264.a,但是有x264。 有點(diǎn)不太理解,而且很多過(guò)程 基本上按照的網(wǎng)上提供的方式參考操作的,很納悶哪里出了問(wèn)題。人也比急躁,不想動(dòng)腦子,后來(lái)在編譯ffmpeg庫是報錯:Unknown encoder 'libx264'時(shí),實(shí)在沒(méi)有對策了才想著(zhù)看makefile 。 看著(zhù)makefile就更奇怪了,主makefile中雖然有定義install這個(gè)偽目標,但是好像沒(méi)有與install相關(guān)的命令。而且從執行的log看應該是執行install-cli偽目標,在install-cli偽目標的執行過(guò)程中實(shí)際上只是將x264可執行文件拷貝到/usr/local/bin目錄下。 為什么執行的是instal-cli偽目標呢? 原來(lái)是在config.mak搗的鬼,在config.mak中install: install-cli,也就是install依賴(lài)于installcli目標。 那我如果想在/usr/local/目錄下看著(zhù)靜態(tài)庫及相關(guān)頭文件怎么辦呢? 沒(méi)辦法,繼續看makefile文件,原來(lái)還有幾個(gè)偽目標:install-lib-static和install-lib-shared?疵志椭酪粋(gè)生成靜態(tài)庫,一個(gè)是生成動(dòng)態(tài)庫(這里面用生成是不科學(xué)的,實(shí)際上就是執行拷貝動(dòng)作)。 注:新版本的x264庫編譯過(guò)程可能與以前版本可能有些差異,所以還是要認真看下編譯過(guò)程。 6、make installlib-static(安裝靜態(tài)庫) 以下課程可免費試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。 想學(xué)習的你和我聯(lián)系預約就可以免費聽(tīng)課了。 宋工企鵝號:3524-6590-88 Tel/WX:173--1795--1908 |