这是我配置ffmpeg的方式:
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: ../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a(allcodecs.o): Relocations in generic ELF (EM: 62)
../../../deps/ffmpeg/build/desktop/aarch64/lib/libavcodec.a: error adding symbols: File in wrong format
它可以编译。然后,当我尝试将我的项目与此已编译的ffmpeg链接时,它会给我
--cross-prefix
在这个答案中:https://stackoverflow.com/a/23185739/10116440他说CC丢失了。我也没有使用CC,但是CC是否应该与--cross-prefix=arm-linux-gnueabi-
相同?
我还在他说我应该使用aarch64
的地方找到了http://lakm.us/logit/2012/11/cross-compiling-ubuntu-arm-ffmpeg/,在我的情况下,手臂应该是aarch64-linux-gnueabi-
。但是,没有aarch64-linux-gnu-
工具链,只有amd64
。可能是问题吗?我想不是,因为eabi看起来像是32位的
值得注意的是,我在aarch64
上构建了ffmpeg,但使用静态库在 MyClass myClass = mock(MyClass.class);
上构建了项目。