一、準(zhǔn)備工作 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選項(xiàng)是因?yàn)閍rm-none-linux-gnuabi工具鏈?zhǔn)菦]有匯編器,所以禁止此選項(xiàng) 由于未指定--prefix,所以程序會(huì)默認(rèn)安裝/usr/local/bin目錄下 3、修改config.mak 主要是將相關(guān)選項(xiàng)修改為arm-none-linux-gnuabi相關(guān)的配置,修改內(nèi)容如下: 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)的頭文件,但是沒有在/usr/lib/local目錄下找到libx264.a,但是有x264。 有點(diǎn)不太理解,而且很多過程 基本上按照的網(wǎng)上提供的方式參考操作的,很納悶?zāi)睦锍隽藛栴}。人也比急躁,不想動(dòng)腦子,后來在編譯ffmpeg庫是報(bào)錯(cuò):Unknown encoder 'libx264'時(shí),實(shí)在沒有對(duì)策了才想著看makefile 。 看著makefile就更奇怪了,主makefile中雖然有定義install這個(gè)偽目標(biāo),但是好像沒有與install相關(guān)的命令。而且從執(zhí)行的log看應(yīng)該是執(zhí)行install-cli偽目標(biāo),在install-cli偽目標(biāo)的執(zhí)行過程中實(shí)際上只是將x264可執(zhí)行文件拷貝到/usr/local/bin目錄下。 為什么執(zhí)行的是instal-cli偽目標(biāo)呢? 原來是在config.mak搗的鬼,在config.mak中install: install-cli,也就是install依賴于installcli目標(biāo)。 那我如果想在/usr/local/目錄下看著靜態(tài)庫及相關(guān)頭文件怎么辦呢? 沒辦法,繼續(xù)看makefile文件,原來還有幾個(gè)偽目標(biāo):install-lib-static和install-lib-shared。看名字就知道一個(gè)生成靜態(tài)庫,一個(gè)是生成動(dòng)態(tài)庫(這里面用生成是不科學(xué)的,實(shí)際上就是執(zhí)行拷貝動(dòng)作)。 注:新版本的x264庫編譯過程可能與以前版本可能有些差異,所以還是要認(rèn)真看下編譯過程。 6、make installlib-static(安裝靜態(tài)庫) 以下課程可免費(fèi)試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。 想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽課了。 宋工企鵝號(hào):3524-6590-88 Tel/WX:173--1795--1908 |