android - xiazai - ndk版本




Android NDK:没有规则来制定目标 (3)

在Mac OS X上使用android-ndk-r9 64位,从NDK路径中删除空格。 这修复了No规则为我制造目标错误

不完全是OP的答案,但我想它可以拯救其他人免于浪费时间。

我正在尝试使用NDK构建一个简单的Android应用程序。 以下是我的Android.mk的内容

LOCAL_PATH := $(call my-dir)  

include $(CLEAR_VARS)  

LOCAL_LDLIBS := -llog  

LOCAL_MODULE    := myNDK
LOCAL_SRC_FILES := native.c

include $(BUILD_SHARED_LIBRARY)

当我运行ndk-build时,我得到:

make: *没有规则来制作目标'/native.c', needed by '/Users/ivan/Documents/workspace/TestNDK/obj/local/armeabi/objs/myNDK/native.o'。 停止。

所以问题显然是make正在搜索根目录中的源文件,如果我将native.c复制到我的根文件夹,一切都很完美。

问题是:我应该在Android.mk中指定什么来将LOCAL_PATH设置为我的工作jni文件夹。


好的,我已经解决了我的问题,原因很奇怪:问题出在第一行

'LOCAL_PATH:= $(调用my-dir)____'

它最后有几个空格(我用'_'代替它们)。 如果你删除它们一切正常。

希望能帮助别人。


我发现导致此错误的另一个问题是

LOCAL_SRC_FILES := native.c

LOCAL_MODULE    := native

使用相同的名称。 我不确定为什么会导致错误,因为代码应该在native.o,native.od和native之间的不同位置生成。 但是,显然确实如此。

我在尝试将hello.c编译为hello时发现了这一点。 一旦我将hello.c更改为main.c,所有内容都已正确编译。





android-ndk