今天使用静态库编译发现 了错误 这个只有在arm64 的编译上 存在 。armeabi-v7a不存在问题
ld: error: relocation R_AARCH64_ADD_ABS_LO12_NC cannot be used against symbol 'ff_cos_16384'; recompile with -fPIC
解决方案列举汇总 有很多 大家如果有同样的问题可以一一测试。我这里只说明我的情况不一定适合每一个人
- --extra-cflags="-Os -fPIC. 经过测试无效
- 修改config.mak 中 经过测试无效。 如果你细心这个文件每次执行脚本都会覆盖重新生成。所以你提前修改 执行以后还是恢复原状。除非你先执行 configure ,修改编辑后再 进行make 。但我测试还是没用
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 改为 -D_FILE_OFFSET_BITS=64 -fPIC -D_LARGEFILE_SOURCE -
增加 --extra-cflags= no-pie 。 也无用
-
FFmpeg 脚本增加 --enable-pic 。 无用
-
脚本增加 --disable-asm 有效
是用来禁用汇编优化的选项。在编译过程中, 当使用汇编优化时,生成的代码可能会包含一些特定的汇编指令, 这些指令可能与代码的位置无关(Position-Independent Code,PIC), 而这会导致一些链接问题。 由于你使用了 --disable-asm,禁用了汇编优化, 所以不会生成那些特定的汇编指令,避免了与位置无

文章讲述了作者在使用FFmpeg编译时遇到的arm64平台特定的链接错误,并分享了解决方案,包括禁用汇编优化和调整编译参数。
最低0.47元/天 解锁文章
1604

被折叠的 条评论
为什么被折叠?



