交叉编译ffmpeg出错,为什么ARM下要用到汇编啊?
想要把ffmpeg移植到arm中,因此在linux下进行交叉编译,但是出现以下问题:
1。首先
./configure \
--enable-cross-compile \
--arch=armv6 \
--target-os=linux \
--cross-prefix=/usr/local/arm/4.4.1/bin/arm-none-linux-gnueabi- \
--cc=gcc \
--enable-gpl \
--enable-shared
这个可以产生config.mak和config.h文件。
但make时,出现错误:
./libavutil/arm/bswap.h: Assembler messages:
./libavutil/arm/bswap.h:61: Error: no such instruction: `eor %ecx,%esi,%esi,ror'
./libavutil/arm/bswap.h:62: Error: no such instruction: `bic %ecx,%ecx,'
./libavutil/arm/bswap.h:63: Error: suffix or operands invalid for `mov'
也就是说,无法编译这些汇编代码了,于是改为:
./configure \
--enable-cross-compile \
--arch=armv6 \
--target-os=linux \
--cross-prefix=/usr/local/arm/s5pv210/arm-2009q3/bin/arm-none-linux-gnueabi- \
--cc=gcc \
--as=as \
--enable-gpl \
--enable-shared
增加了一行,结果直接报错:
GNU assembler not found, install gas-preprocessor
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solving the problem.
请问,那位有解决的经验和方法,请指教!