【发布时间】:2015-04-06 02:51:48
【问题描述】:
给了我一个基于 Linux x86 构建的共享库,我们称之为 libA.so,我想使用这个库 SDK 提供的函数调用。
我在构建时遇到问题并有几个问题:
1) 我可以为 x86 构建,但我可以为 arm 构建吗?我相信答案是否定的,这意味着我不能在 Nexus 5 上运行。 2) ndk-build 抱怨应该由我的 LOCAL_SHARED_LIBRARIES 解决的#include。我不确定为什么会这样。我的 Android.mk 如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := B
LOCAL_SRC_FILES := B.cpp
LOCAL_SHARED_LIBRARIES := A
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
有人可以帮我解决我的 Android.mk 问题吗?我不明白为什么它抱怨我在 B.cpp 中的 include 语句。请告诉我是否可以在 arm 环境中运行 B,尽管我所依赖的 SDK 是基于 x86 构建的。
【问题讨论】:
-
你能发布你得到的错误吗?另外,您能否澄清一下:您只有为 x86 编译的 libA.so 的二进制版本,没有 libA.so 的源代码,并且您希望在自己的 B.cpp 中有代码,它将调用来自 libA.so 的函数?
-
是的,你是对的!
标签: android makefile android-ndk