如何构建没有版本后缀的ffmpeg共享库

and*_*ido 5 android ffmpeg shared-libraries

有没有办法我可以配置为没有版本号后缀的android构建ffmpeg共享库?我能够使用不同的选项构建,但总是得到像"libavcodec.so.57"这样的文件.我需要没有后缀的库,如"libavcodec.so".我认为选项"--disable-symver"可以做到这一点但不幸的是它没有.问题是我有一个库(.so文件)依赖于没有后缀的ffmpeg共享库,因此无法加载那些即时构建.我主要遵循这里的指示.

and*_*ido 7

提问总是找到答案.这就是为什么我成功,挖掘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)"

  • "make install"

现在你将拥有没有后缀的共享库.
您可以通过"readelf -d somefile.so"检查它们的依赖关系