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