有沒有一種方法可以配置爲無需版本號後綴的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. 如何將OpenSSL構建爲未版本化的Android共享庫?
- 2. FFmpeg的不共享庫
- 3. 我該如何構建一個用於不同g ++版本的共享庫?
- 4. 如何構建共享的MuPDF庫?
- 5. 鏈接不同版本的共享庫
- 6. 不同版本的共享庫
- 7. 使用不帶版本的共享庫鏈接
- 8. libtool如何決定構建共享庫?
- 9. 如何將glfw構建爲共享庫?
- 10. 如何使用waf構建共享庫?
- 11. 數據庫共享/版本
- 12. readelf不會顯示共享庫的版本號
- 13. FFMPEG - 構建ubuntu 32位 - 缺少共享庫:libspeex
- 14. 使用ffmpeg構建共享庫會導致重定位錯誤
- 15. 構建多個共享庫
- 16. 正則表達式:如何匹配前綴+共享OR共享+後綴?
- 17. go針對不同的共享庫構建多個二進制版本
- 18. 如何在不同的android構建版本之間共享依賴關係?
- 19. 爲什麼在構建共享庫後無法重命名共享庫?
- 20. 共享庫文本段不可共享
- 21. 使用Android Studio構建共享* .so庫的發行版
- 22. 如何在構建後修改程序集的版本號?
- 23. Android Studio中帶有實驗性Gradle插件的本地預構建共享庫
- 24. Android構建系統如何處理加載本機共享庫的Java庫
- 25. Weblogic共享庫多個依賴版本
- 26. GCC:指定最小共享庫版本
- 27. JNI共享庫似乎在發佈版本中包含符號
- 28. 編譯後的Linux共享庫(.so文件)版本
- 29. 在不同.net版本之間共享的單個共享代碼庫
- 30. 如何在構建後事件中獲取版本號
這是一個很好的答案。無需維護補丁。根本沒有爲target-os = android生成版本號 –