集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1262|回复: 2

Linux下x264库ARM交叉编译

[复制链接]
fpga_wuhan 发表于 2017-9-9 11:33:58 | 显示全部楼层 |阅读模式
一、准备工作     

       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(安装静态库)
小舍YZ 发表于 2017-9-10 18:06:53 | 显示全部楼层
谢谢楼主分享。。。。。。。。。。。。。。。。。。
zxopenljx 发表于 2023-2-2 13:53:55 | 显示全部楼层
Linux下x264库ARM交叉编译
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-28 10:41 , Processed in 0.059832 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表