有没有一种方法可以配置为无需版本号后缀的android构建ffmpeg共享库?即时通讯能够建立不同的选项,但总是得到像“libavcodec.so.57”的文件。我需要没有后缀的库,比如“libavcodec.so”。我认为选项“--disable-symver”会做的伎俩,但不幸的是它没有。问题是我有一个库(.so文件),依赖ffmpeg共享库没有后缀,因此无法加载那些即时通讯构建。 我主要关注指示here。如何构建不带版本号后缀的ffmpeg共享库
4
A
回答
5
问问题导致总是找到答案。这就是为什么我成功了,挖掘了帮助制作文件。做到以下几点:
- 运行配置
- 发现 “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”
1
无需检查他们的依赖关系,config.mak改变
只需添加--target-OS = Android的配置呼叫
我的例子
NDK=${HOME}/android-sdk-linux/ndk-bundle
ABI=arm
./configure \
--arch=$ABI \
--target-os=android \
--disable-everything \
--disable-symver \
--enable-runtime-cpudetect \
--enable-pic \
--enable-shared \
--disable-static \
--prefix=../build/$ABI \
--cross-prefix=$NDK/toolchains/$ABI-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/$ABI-linux-androideabi- \
--sysroot=$NDK/platforms/android-26/arch-$ABI \
--extra-cflags="-march=armv7-a -mfloat-abi=softfp -fPIC -DANDROID" \
--extra-ldflags="" \
|| exit 1
make clean
make -j4 || exit 1
make install || exit 1
相关问题
- 1. FFmpeg的不共享库
- 2. 我该如何构建一个用于不同g ++版本的共享库?
- 3. 如何构建共享的MuPDF库?
- 4. 不同版本的共享库
- 5. 数据库共享/版本
- 6. libtool如何决定构建共享库?
- 7. 如何使用waf构建共享库?
- 8. 使用ffmpeg构建共享库会导致重定位错误
- 9. FFMPEG - 构建ubuntu 32位 - 缺少共享库:libspeex
- 10. 构建多个共享库
- 11. go针对不同的共享库构建多个二进制版本
- 12. 如何在不同的android构建版本之间共享依赖关系?
- 13. 使用Android Studio构建共享* .so库的发行版
- 14. 如何在构建后修改程序集的版本号?
- 15. Android构建系统如何处理加载本机共享库的Java库
- 16. 编译后的Linux共享库(.so文件)版本
- 17. GCC:指定最小共享库版本
- 18. 如何在构建后事件中获取版本号
- 19. 如何构建带有设置前缀和零填充后缀的GUID?
- 20. SVN版本库结构和共享程序集
- 21. 在VSTS版本之间共享内部版本号
- 22. 共享库中的符号
- 23. 为SBT构建不同的库版本
- 24. 我如何让jenkins构建Subversion版本库的每个版本
- 25. 使用Visual Studio构建共享库
- 26. 使用gcc构建共享库
- 27. 构建谷歌测试像共享库
- 28. 创建一个静态包含ffmpeg的共享库
- 29. 如何使用qmake在C++中构建独立的共享库?
- 30. 如何在APK中打包预构建的共享库
这是一个很好的答案。无需维护补丁。根本没有为target-os = android生成版本号 –