0

arに含まれるソースから構築されたいくつかのオブジェクト ファイルからライブラリを作成しLOCAL_SRC_FILES、最終的なライブラリを構築するときにそれに対してリンクする必要があります。

これは可能ですか? はいの場合、どうすればできますか?

私はBUILD_SHARED_LIBRARYその拡張されたバリアントに置き換えようと考えていましたが、うさぎの穴は深すぎます (つまり、私はまだそれほど絶望的ではありません)。

私がこれをやりたい理由は、いくつかの小さなライブラリを 1 つにハックして、全体として構築しようとしたからです。独自の Android.mk ファイルを使用して stat として構築されたさまざまなモジュールにそれらを分離することは、はるかに優れたソリューションであることを知っていますが、時間がかなり不足しています。

編集Android.mk:一部のライブラリのソースファイルをファイルに追加するのを忘れ、メインライブラリのファイルのみを追加したため、質問の前提はもはや有効ではありません。同時に、依存関係のヘッダーを に追加しましたLOCAL_C_INCLUDES。このようにして、意図したコンパイル時ではなく、リンク時の依存関係になりました。したがって、実際にはコンパイルとリンケージの間にライブラリを構築する必要はありません。

言い換えられた質問:

ソースファイルのコンパイル、それらを最終的なライブラリ/実行可能ファイルにリンクする前に実行されるカスタムビルドステップを Android.mk ファイルに追加することは可能ですか?

4

1 に答える 1

0

プリコンパイルされたオブジェクトまたはライブラリをいつでもリンク コマンドに追加できます。

LOCAL_LDLIBS += ../external/obj1.o /full/path/obj2.o /other/path/libOther.a
于 2012-12-09T20:43:17.717 に答える