2012-01-10 14 views
0

アームデバイス用にfbgrab fbgrab websiteをコンパイルしようとしています。アンドロイドクロスコンパイルツールチェーンを使用して静的リンクされたアプリケーションをコンパイルする方法は?

私は、このコマンドに

arm-linux-androideabi-gcc --sysroot=$NDK_ROOT/platforms/android-8/arch-arm/ -lz -lm -I../zlib -I../lpng -W -Wall -o fbgrab fbgrab.c ../zlib/libz.a ../lpng/libpng.a 

を使用して、それを構築するために管理しますが、それはdynamiclyリンクされていると私は、デバイス

localhost:fbgrab-1.0 anatoly$ file fbgrab 
fbgrab: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped 

に共有ライブラリをインストールする方法を今いけないので、私は静的でそれを構築する必要がありますリンクライブラリ -staticオプションを使用しようとすると、このメッセージでコンパイルが失敗するld: cannot find -lz共有ライブラリは、指定されたディレクトリにありますが、

ここで問題は何ですか?静的リンクバイナリを構築する方法は?どのようにデバイスに共有ライブラリをインストールできますか?

答えて

0

共有ライブラリは、プロジェクトにソースを組み込み、NDKツールを使用してビルドするか、あらかじめビルドされた共有ライブラリを組み込むことで簡単にインストールできます。静的リンクもNDKを使用して行うことができます。あなたのNDKディレクトリにこれらのドキュメントを見てください:

/android-ndk-r7/docs/PREBUILTS.html
に/android-ndk-r7/docs/ANDROID-MK.html

希望が助けてくれる!

+0

お返事ありがとうございます。最後に、私が望むものを構築することができましたが、完全に静的なライブラリを構築する方法がないことを発見しました。なぜなら、いくつかのライブラリは動的にリンクされているにすぎません(誤っていないとlibc libm) –

関連する問題