バージョン番号サフィックスなしでアンドロイド用のffmpeg共有ライブラリを構築する方法はありますか?さまざまなオプションでビルドできますが、常に "libavcodec.so.57"のようなファイルを取得できます。私は "libavcodec.so"のような接尾辞の付いていないライブラリが必要です。私は "--disable-symver"オプションがトリックを行うと思ったが、残念ながらそれはしなかった。問題は、私はサフィックスなしでffmpeg共有ライブラリに依存するライブラリ(.soファイル)を持っているため、ビルドされているそれらを読み込むことができないということです。 私はほとんど指示書hereに従っています。バージョンサフィックスなしでffmpeg共有ライブラリを構築する方法
4
A
答えて
5
質問すると常に回答が得られます。それが私が成功した理由です。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 )」
"今、あなたは接尾辞なしでライブラリを共有しているだろう"
をインストールします。
ジャスト--target-OSを追加
あなたは=アンドロイドコールを設定するconfig.mak変更する "readelfが-d somefile.so"
1
不要でそれらの依存関係を確認することができます
私の例
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. 共有ライブラリを構築して他のndkプログラムで呼び出す方法
- 2. 共有MuPDFライブラリを構築するには?
- 3. スタティックライブラリで共有ライブラリを構築できません
- 4. CMakeでソースを再コンパイルせずに共有ライブラリと静的ライブラリを構築する方法
- 5. Linuxでgcc、WindowsでMinGWを使って共有ライブラリを構築する
- 6. は、ブースト1.48で共有ライブラリを構築できませんでした。
- 7. ffmpeg libでネイティブアプリを構築する
- 8. Windows上でffmpegを構築する
- 9. 少量の共有コードで2つのデバイスドライバを構築する方法
- 10. Visual Studio 2010でネットワーク共有からプロジェクトを構築する方法は?
- 11. iOS ffmpegを構築するには
- 12. smackライブラリを使用してクライアントアプリケーションを構築する方法
- 13. iOS向けPoDoFoライブラリの構築方法
- 14. TFSと共有DLLで共通ライブラリを扱う方法
- 15. wafを使用して共有ライブラリを構築するにはどうすればよいですか?
- 16. 構成ベースの共有ライブラリ(DLL)
- 17. ランタイムデバッグ共有ライブラリの方法は?
- 18. cppをコンパイルして共有ライブラリにリンクする方法
- 19. アンドロイドビルドシステムでネイティブ共有ライブラリをロードするJavaライブラリを処理する方法
- 20. Android上のJNIライブラリから事前構築された共有ライブラリを参照する
- 21. Haskell共有ライブラリでSystem.Posix.DynamicLinkerを使用する方法
- 22. ASP.NET:Webアプリケーション間でリソース(メンバーシップ、ライブラリ)を共有する方法
- 23. bcc32でbcc32cで構築された静的なライブラリを使用する方法
- 24. 別のディレクトリにlib *プレフィックスなしで共有ライブラリにリンクする方法は?
- 25. .CallからC共有ライブラリへの構造体の配列を返す方法
- 26. Solaris 32ビット - gccを使用して共有オブジェクトを構築
- 27. 共有ファイルセットからタールとジップを構築する
- 28. 共有ライブラリを構築するときに-fPICとは何を意味しますか?
- 29. 共有ライブラリのpstack(c/C++)。破損した共有ライブラリ
- 30. 有効なヒープを構築する
これはすばらしい答えです。パッチを維持する必要はありません。 target-os = androidのバージョン番号は一切生成されていません –