有没有一种方法可以配置为 android 构建没有版本号后缀的 ffmpeg 共享库?我能够使用不同的选项进行构建,但总是会得到像“libavcodec.so.57”这样的文件。我需要没有像“libavcodec.so”这样的后缀的库。我认为选项“--disable-symver”可以解决问题,但不幸的是它没有。问题是我有一个库(.so 文件)依赖于没有后缀的 ffmpeg 共享库,因此无法加载那些正在构建的库。 我主要遵循说明 here .
最佳答案
提出问题总能找到答案。这就是我成功的原因,深入研究 make 文件很有帮助。执行以下操作:
- 运行你的配置
- 找到“config.mak”
改变
SLIBNAME_WITH_VERSION=$(SLIBNAME).$(LIBVERSION) SLIBNAME_WITH_MAJOR=$(SLIBNAME).$(LIBMAJOR)
到:
SLIBNAME_WITH_VERSION=$(SLIBNAME)
SLIBNAME_WITH_MAJOR=$(SLIBNAME)改变
SLIB_INSTALL_NAME=$(SLIBNAME_WITH_VERSION) SLIB_INSTALL_LINKS=$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)
到:
SLIB_INSTALL_NAME=$(SLIBNAME)
SLIB_INSTALL_LINKS=运行“make”或“make -j$(nproc)”
“进行安装”
现在您将拥有没有后缀的共享库。
您可以通过以下方式检查它们的依赖关系
“readelf -d somefile.so”
关于android - 如何构建没有版本后缀的ffmpeg共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36911982/