【发布时间】:2020-07-20 09:21:48
【问题描述】:
如何在 Local_LDLIBS 中包含 arm64-v8a 、 armeabi 、 armeabi-v7a 、 x86 和 x86_64 文件?
我在这 5 个文件夹中有 .a 文件 [arm64-v8a 、 armeabi 、 armeabi-v7a 、 x86 和 x86_64]。
在我的 lib 文件夹中。
当我将它包含在我的 Android.mk 中时,它是这样的。
clang++: error: no such file or directory: 'jni/../lib/libavformat.a'
我的 Android.mk 文件
include $(CLEAR_VARS)
LOCAL_PATH := $(WORKING_DIR)
LOCAL_MODULE := a
LOCAL_CFLAGS := -DHAVE_AV_CONFIG_H -std=c99 -D__STDC_CONSTANT_MACROS -DSTDC_HEADERS -Wno-deprecated-declarations
LOCAL_SRC_FILES := a.c
LOCAL_LDLIBS := -llog -lm -lz $(WORKING_DIR)/../lib/libavformat.a
include $(BUILD_SHARED_LIBRARY)
我该如何解决这个问题?
如何在 LOCAL_LDLIBS 中添加所有架构文件?
【问题讨论】:
-
您可以通过以下方式执行此操作:/lib/
/libavformat.a 例如:/lib/armeabi-v7a/libavformat.a。此外,如果您不支持 4.0 以下的 android,则无需包含“armeabi”文件夹,因为此 abi 级别已被弃用。 -
我可以像这样添加 lib/$(TARGET_ARCH_ABI)/libavformat.so 吗?
-
我认为可以,但如果 TARGET_ARCH_ABI 等于您的 abi 文件夹的名称之一
标签: android android-ndk