バージョン番号サフィックスなしでアンドロイド用の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. スタティックライブラリで共有ライブラリを構築する
- 2. Travis-CIでTensorFlowの共有ライブラリを構築する方法
- 3. cmakeで同時に静的ライブラリと共有ライブラリを構築する方法
- 4. 共有ライブラリを構築して他のndkプログラムで呼び出す方法
- 5. Androidを使ってCMakeと共有ライブラリを構築するNDK
- 6. ラザロを使ってラズベリーに共有ライブラリを構築する
- 7. 共有MuPDFライブラリを構築するには?
- 8. Googleテストを共有ライブラリのように構築する
- 9. スタティックライブラリで共有ライブラリを構築できません
- 10. CMakeでソースを再コンパイルせずに共有ライブラリと静的ライブラリを構築する方法
- 11. vo-amrwbencライブラリでffmpegを構築するには?
- 12. Linuxでgcc、WindowsでMinGWを使って共有ライブラリを構築する
- 13. 共有オブジェクトライブラリの構築:LDDは、私はDebianの上で共有オブジェクトライブラリを構築しようとしている
- 14. は、ブースト1.48で共有ライブラリを構築できませんでした。
- 15. Makefileとgccを使用して動的共有ライブラリ(.so、.dylib)を構築する
- 16. Cygwinでのrestclient-cppのコンパイルで共有ライブラリが構築されない
- 17. Androidスタジオ(cmake)で事前に構築された共有ライブラリを使用する
- 18. 2つのwebpack構築アプリケーション間でライブラリを共有するには?
- 19. 共有ライブラリを識別する方法
- 20. 相対位置を持つ共有ライブラリに依存してnodejs C++ addonを構築する方法
- 21. なぜCMake EXPORTは共有ライブラリの構築に使用される静的ライブラリを必要としますか?
- 22. 静的にffmpegを含む共有ライブラリを作成する
- 23. ubuntu x64でwolfssl共有ライブラリを構築する方法は? <strong>Ubuntuのx64の</strong>上
- 24. Visual Studio 2010でネットワーク共有からプロジェクトを構築する方法は?
- 25. 少量の共有コードで2つのデバイスドライバを構築する方法
- 26. 共有ライブラリを構築する代わりに静的ライブラリを作成しました
- 27. windowsでcmakeを使用してライブラリを構築する方法
- 28. Windows上でffmpegを構築する
- 29. AndroidプロジェクトでFFMPEGを構築する
- 30. ffmpeg libでネイティブアプリを構築する
これはすばらしい答えです。パッチを維持する必要はありません。 target-os = androidのバージョン番号は一切生成されていません –