【发布时间】:2012-08-11 11:38:06
【问题描述】:
我们正在尝试在我们的 Android 应用中使用第三方 .a 静态库。 .a 库是为 x86 构建的,我们将它与 PC linux 机器一起使用没有问题。
然后我们尝试通过这个 Android.mk 在 Android 上使用它:
LOCAL_PATH:= $(call my-dir)
# first lib, which will be built statically
#
include $(CLEAR_VARS)
LOCAL_MODULE := libtwolib-first
LOCAL_SRC_FILES := rwl.a
LOCAL_MODULE_SUFFIX := .a
include $(PREBUILT_STATIC_LIBRARY)
# second lib, which will depend on and include the first one
#
include $(CLEAR_VARS)
LOCAL_MODULE := libtwolib-second
LOCAL_SRC_FILES := second.c
LOCAL_STATIC_LIBRARIES := libtwolib-first
include $(BUILD_SHARED_LIBRARY)
我们得到这个错误:
could not read symbols: File in wrong format
是不是因为 .a 文件是用 x86 编译的,而我们正在为 arm 构建?
.a 文件是遗留文件,很可能无法从源代码重新编译。如果是这个问题,还有其他解决方案吗?
谢谢。
【问题讨论】:
标签: android android-ndk