2

コンパイラがヘッダーを探しているときに、ビルド済みの静的ライブラリを使用すると問題が発生します。

スタティック ライブラリのヘッダー ファイルを使用する必要がある .cpp があります。私の Android.mk は次のとおりです。

include $(CLEAR_VARS)
LOCAL_MODULE := LibA
LOCAL_SRC_FILES := libs/libA.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := hello
LOCAL_SRC_FILES := hello.cpp 
LOCAL_STATIC_LIBRARIES :=  LibA 
include $(BUILD_SHARED_LIBRARY)

hello.cpp には、スタティック ライブラリにあるヘッダーが必要ですが、コンパイラはそれが見つからないと言います。その静的ライブラリからヘッダーを分離する必要がありますか?

4

3 に答える 3

1

ヘッダーはスタティック ライブラリには含まれません。たとえそうであったとしても、コンパイラは .a ファイルを読み取る方法がなく、リンカだけがそれを行います。

于 2013-02-22T23:15:09.790 に答える
0

私は専門家ではありませんが、対応する .h ファイルを常に含める必要があることを学びました。これらの .h ファイルでは、コンパイラーは、ライブラリー内にある関数を定義するときに、ライブラリーの「使用方法」に関する情報を取得します。

頑張れマーティン

于 2013-02-22T23:08:16.430 に答える
0

2番目のステップで「LOCAL_LDLIBS」を試してください。

于 2013-02-23T09:30:43.510 に答える