12

スタンドアロン ツールチェーンの意味を理解しようとしています。以下は私の調査結果です。正しいパスにあるシステム ヘッダーとライブラリのすべての構成ですぐに使用できるツールチェーン。Android の場合、ツールチェーンが検索できるパスに API ヘッダーも含まれます。なぜ「スタンドアロン」という用語を使用するのですか? これはおそらく、RT を構成し、与えられた sysroot および libc ヘッダー パスなどを使用して Android で使用できるようにする必要があるという意味で、通常のツールチェーンとは異なるでしょう。コメントしてください。

うーん、私はアンドロイド用にコンパイルしていて、1 つのプロセスが make-standalone-toolchain.sh というスクリプトを実行していて、スタンドアロン ツールチェーンが作成されました。シェルスクリプトはあまり得意ではありません。しかし、特定のことを作りました。""動作中の sysroot を含む、カスタマイズされた Android ツールチェーン インストールを生成します。その結果、configure スクリプトや make スクリプトを実行するなど、スタンドアロンのクロスコンパイラとしてより簡単に使用できるものになります。 platform/$PLATFORM arch-$ARCH" sysroot ヘッダーとライブラリをコピーしています... libstdc ++ヘッダーとライブラリ...事前に構築されたbinaries.allを一時フォルダーに入れ、次にTmpディレクトリからコピーしてインストールディレクトリを作成します。つまり、パッケージファイルを追加してtmpdirを追加し、ここで何が起こっているのか、またはリンクまたは提案を知りたい見てください。もちろん、非常に精巧なマニュアルを読みたくありません。〜

4

2 に答える 2

7

このブログ投稿はあなたの質問に答えるかもしれません:

http://clseto.mysinablog.com/index.php?op=ViewArticle&articleId=3480794

Android でネイティブ C/C++ プログラムをビルドするには、次の方法をお勧めします。ソース ファイルをスクリプト (Android.mk) にリストし、「ndk-build」を実行します。新しいプログラムを作成している場合は問題にならないかもしれませんが、Linux 上で適切にプログラムをビルドできる動作中のビルド スクリプト (オープン ソース ソフトウェアなど) が既にある場合、スクリプトを Android.mk に移行するのは頭痛の種です。 . この状況で必要なのは、C/C++ クロス コンパイラだけであり、スクリプト内の変数 (CC、CXX、AR、AS、RANLIB など) を「arm-linux-androideabi-gcc」のようなものに置き換えます。 、「arm-linux-androideabi-g++」、...

幸いなことに、「Android NDK Dev Guide」内に、必要なものを説明する「スタンドアロン ツールチェーン」セクションがあります。

于 2013-05-02T21:16:01.593 に答える