gpt4 book ai didi

android - 为什么使用ndk-build构建ffmpeg时会出错?

转载 作者:行者123 更新时间:2023-12-04 23:17:02 25 4
gpt4 key购买 nike

我已经尝试构建 ffmpeg适用于 Windows 7 中的 Android,但在 ndk-build 时出错.

错误日志如下:

Wun@Wun-PC ~/ffmpeg/jni/ffmpeg
$ ndk-build
SharedLibrary : libffmpeg.so
C:/cygwin/home/Wun/ffmpeg/obj/local/armeabi/libavcodec.a(log2_tab.o):(.rodata+0x0): multiple definition of `ff_log2_tab'
C:/cygwin/home/Wun/ffmpeg/obj/local/armeabi/libavformat.a(log2_tab.o):(.rodata+0x0): first defined here
C:/cygwin/home/Wun/ffmpeg/obj/local/armeabi/libavutil.a(log2_tab.o):(.rodata+0x0): multiple definition of `ff_log2_tab'
C:/cygwin/home/Wun/ffmpeg/obj/local/armeabi/libavformat.a(log2_tab.o):(.rodata+0x0): first defined here
collect2: ld returned 1 exit status
/home/Wun/android-ndk-r8b/build/core/build-binary.mk:378: recipe for target '/home/Wun/ffmpeg/obj/local/armeabi/libffmpeg.so' failed
make: *** [/home/Wun/ffmpeg/obj/local/armeabi/libffmpeg.so] Error 1

我已经删除了 OBJS-$(CONFIG_SHARED) += log2_tab.oMakefilelibavformatlibavcodec .

但是问题还是发生了……

我应该删除 libavcodec.a , libavformat.a , libavutil.a and libswscale.a ,并再次重建??

有人知道如何解决这个问题吗?

提前致谢。

最佳答案

这个问题已经reported在交叉编译场景中不止一次。

这是一个 configuration problem .对于 gcc,您应该运行

./configure … --extra-cflags="-DHAVE_ISNAN -DHAVE_ISINF"

您可以将此添加到 安卓.mk , 也:
LOCAL_CFLAGS += "-DHAVE_ISNAN -DHAVE_ISINF"

既然你不跑 ./configure您可以编辑 config.h文件并设置这两个:
#define HAVE_ISNAN=1
#define HAVE_ISINF=1

关于android - 为什么使用ndk-build构建ffmpeg时会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22628781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com