一、参考资料
二、交叉编译x264
1. 下载源码
下载x264:https://www.videolan.org/developers/x264.html
git clone https://code.videolan.org/videolan/x264.git
cd x264
mkdir x264build
2. 设置环境变量
设置交叉编译工具链的环境变量:
export PATH=/home/yoyo/360Downloads/toolchains/arm-linux-gnueabihf/bin:$PATH
3. 生成configure配置
./configure \
--prefix="/home/yoyo/360Downloads/x264/x264build" \
--sysroot="/home/yoyo/360Downloads/toolchains/arm-linux-gnueabihf/arm-linux-gnueabihf/libc" \
--host=arm-linux-gnueabihf \
--cross-prefix=arm-linux-gnueabihf- \
--enable-static \
--enable-shared \
--extra-cflags="-I/home/yoyo/360Downloads/nasm-2.16.03/arm32_install/include" \
--extra-ldflags="-L/home/yoyo/360Downloads/nasm-2.16.03/arm32_install/lib"
参数解释:
--prefix
:安装路径;--enable-static
:生成静态库;--enable-shared
:生成动态库;--extra-cflags
:引入nasm库的头文件;--extra-ldflags
:引入nasm的lib库。
输出示例:
yoyo@yoyo:~/360Downloads/x264$ ./configure \
> --prefix="/home/yoyo/360Downloads/x264/x264build" \
> --sysroot="/home/yoyo/360Downloads/toolchains/arm-linux-gnueabihf/arm-linux-gnueabihf/libc" \
> --host=arm-linux-gnueabihf \
> --cross-prefix=arm-linux-gnueabihf- \
> --enable-static \
> --enable-shared \
> --extra-cflags="-I/home/yoyo/360Downloads/nasm-2.16.03/arm32_install/include" \
> --extra-ldflags="-L/home/yoyo/360Downloads/nasm-2.16.03/arm32_install/lib"
platform: ARM
byte order: little-endian
system: LINUX
cli: yes
libx264: internal
shared: yes
static: yes
bashcompletion: no
asm: yes
interlaced: yes
avs: yes
lavf: no
ffms: no
mp4: no
gpl: yes
thread: posix
opencl: yes
filters: crop select_every
lto: no
debug: no
gprof: no
strip: no
PIC: yes
bit depth: all
chroma format: all
You can run 'make' or 'make fprofiled' now.
4. 编译安装
# 编译
make -j8
# 安装
make install
make install
安装:
yoyo@yoyo:~/360Downloads/x264$ make install
install -d /home/yoyo/360Downloads/x264/x264build/bin
install x264 /home/yoyo/360Downloads/x264/x264build/bin
install -d /home/yoyo/360Downloads/x264/x264build/include
install -d /home/yoyo/360Downloads/x264/x264build/lib/pkgconfig
install -m 644 ./x264.h x264_config.h /home/yoyo/360Downloads/x264/x264build/include
install -m 644 x264.pc /home/yoyo/360Downloads/x264/x264build/lib/pkgconfig
install -d /home/yoyo/360Downloads/x264/x264build/lib
ln -f -s libx264.so.164 /home/yoyo/360Downloads/x264/x264build/lib/libx264.so
install -m 755 libx264.so.164 /home/yoyo/360Downloads/x264/x264build/lib
install -d /home/yoyo/360Downloads/x264/x264build/lib
install -m 644 libx264.a /home/yoyo/360Downloads/x264/x264build/lib
arm-linux-gnueabihf-gcc-ranlib /home/yoyo/360Downloads/x264/x264build/lib/libx264.a
如果执行 make install
仅拷贝了 bin 目录,则需要手动将lib库和include头文件拷贝到安装目录。
cp x264.h x264_config.h ../x264build/include/
cp libx264.a ../x264build/lib/
cp x264.pc ../x264build/lib/pkgconfig/
5. 移植到开发板
将编译好的文件,拷贝到开发板。
# 拷贝 include
cp -r ./arm32_install/include/* /PATH/TO/arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include
# 拷贝lib
cp -r ./arm32_install/lib/* /PATH/TO/arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib
技术交流群
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。