尝试编译最后一个 FFmpeg iPhone:错误:内联 asm 中的操作数无效
我正在尝试为 iPhone 编译最后一个 FFmpeg,但出现错误:
CC libavformat/asfcrypt.o
error: invalid operand in inline asm: 'ldr ${0:Q}, $1
ldr ${0:R}, $2
'
make: *** [libavformat/asfcrypt.o] Error 1
谢谢
I am trying to compile last FFmpeg for iPhone, but I am getting an error:
CC libavformat/asfcrypt.o
error: invalid operand in inline asm: 'ldr ${0:Q}, $1
ldr ${0:R}, $2
'
make: *** [libavformat/asfcrypt.o] Error 1
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我遇到了同样的问题。我通过禁用内联汇编语言找到了解决方法:
我不确定这会对性能产生什么样的影响,但至少目前它是有效的。
I'm getting the same problem. I found a way around it by disabling inline assembly language:
I'm not sure what sort of impact this will have on performance, but at least for now it works.
我尝试过 --disable-asm 配置。它可以工作,但解码器性能很差。
我尝试编辑 config.h:
#define HAVE_INLINE_ASM 0
这仅禁用内联汇编
,或者如果您只有 ffmpeg 中的某些解码器,则只需禁用所有其他未使用的编解码器
并编辑libavutil/arm/intmath.h,注释掉这个定义:
这只禁用一个内联汇编函数,它对我有用。
I have tried --disable-asm configuration. It works but the decoder performance is bad.
I tried edit the config.h:
#define HAVE_INLINE_ASM 0
this only disables inline assembly
or if you only some decoder in ffmpeg, just disable all other unused codec
and edit libavutil/arm/intmath.h, comment out this define:
this only disable one inline assembly function and it works for me.
您可以使用 --disable-armv5te --disable-armv6 --disable-armv6t2 这对您有用。这些 cpu 是非常旧的 cpu,我们可以禁用它。
you can used --disable-armv5te --disable-armv6 --disable-armv6t2 this will work for you. these cpu is very old cpu we can disable it.