歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 嵌入式Linux所需要做的交叉編譯庫文件

嵌入式Linux所需要做的交叉編譯庫文件

日期:2017/3/1 9:48:25   编辑:Linux編程

如果需要使用開源的庫,比如X264在你的項目中,最後代碼要移植到開發板上,那麼需要用交叉編譯鏈對庫文件

進行交叉編譯。使架構一致,否則代碼在開發板上無法運行。

以libx264.a為例

1.下載x264的壓縮包,解壓到文件夾中。

2.進入文件夾進行配置

./configure --enable-static --host=arm-linux --disable-asm

需要配置哪些功能你需要用,哪些不需要用,比如用進程要加上--enable-pthread

我默認的上面的配置。

3.之後make 同時改變編譯鏈CC

make CC=arm-hismall-linux-gcc AR=arm-hismall-linux-ar LD=arm-hismall-linux-ld RANLIB=arm-hismall-linux-ranlib STRIP=arm-hismall-linux-strip

/ / 目的是代替默認的gcc編譯器 使用arm-linux-gcc編譯器

我用的arm-linux-gcc

因此用 make CC=arm-linux-gcc AR=arm-linux-ar LD=arm-linux-ld RANLIB=arm-linux-ranlib STRIP=arm-linux-strip

4.之後發現編譯出現問題,ar後面沒空格導致出錯,手動在ar和rc之間加上空格繼續編譯

arm-linux-ar rc libx264.a common/mc.o common/predict.o common/pixel.o common/macroblock.o
common/frame.o common/dct.o common/cpu.o common/cabac.o common/common.o common/osdep.o
common/rectangle.o common/set.o common/quant.o common/deblock.o common/vlc.o
common/mvpred.o common/bitstream.o encoder/analyse.o encoder/me.o encoder/ratecontrol.o
encoder/set.o encoder/macroblock.o encoder/cabac.o encoder/cavlc.o encoder/encoder.o
encoder/lookahead.o common/threadpool.o

5.完成中斷後剩下的工作

arm-linux-ranlib libx264.a (用於產生x264-config.h文件)

make install-lib-static

6.之後就可以把產生的libx264.a、x264.h、x264-config.h拷到你要用的文件夾中。

Copyright © Linux教程網 All Rights Reserved