私はAndroidアプリケーションを作成しました。ここでは、ほとんどのコードがcにあるため、jniを使用して作成しました。socket.soを使用する必要があるファイルを作成する必要がありlibtest.soます。
libtest.soinsocket.soを使用しているときにerror:undefined reference to function()。私のfunction()は。の中にありlibtest.soます。提案によってこれを熱望するために、私は以下のように私のAndroid.mkを作成しました:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libtest
LOCAL_SRC_FILES := libtest.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := socket
LOCAL_SHARED_LIBRARIES += libtest
LOCAL_SRC_FILES := source/interface.c source/file.c
LOCAL_LDFLAGS += libtest.a
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../libtest/jni/include
include $(BUILD_SHARED_LIBRARY)
libtest.soただし、 &libtest.aファイルの両方が存在する必要があります。まるでそれだけを使っているかのように、libtest.aそれは完全にうまく機能します。
私の要件はlibtest.soを作成し、それをsocket.soに含めることなので、.aファイルの依存関係を回避して.soファイルを作成する方法を教えてください。
コメントする場合LOCAL_LDFLAGS += libtest.a は、error:undefined reference to function()
いずれか1つのplzは私がこの問題から抜け出すのを助けます.......