6

嗨,我是 Android NDK 开发的新手。

MacBook-Pro:JNIexample sk$ ndk-build
usage: dirname path
gmake: /Users/sk/build/core/build-local.mk: No such file or directory
gmake: *** No rule to make target `/Users/sk/build/core/build-local.mk'.  Stop.

为什么我会得到他的错误?

4

7 回答 7

14

所以我遇到了同样的麻烦,看起来如果我有任何目录是完整目录路径的一部分,其目录名称之间有空格('')然后'ndk-build'将无法解决路径。所以我的目录名称“开发工具”不够好,所以我将其更改为“开发工具”并且它有效。如果我在“ndk-build”中对路径进行硬编码,那么它就可以工作,所以找出原因。

于 2011-04-19T07:40:12.897 回答
1

ndk-build 工具实际上只是一个使用 build-local.mk 文件调用 gmake 的包装器。它通过创建以 ndk-built 工具位置为根的相对路径来查找 build-local.mk 文件。听起来您没有安装完整的 NDK,或者可能移动了 ndk-build 工具而不移动其余的 NDK 内容?

于 2011-02-26T03:21:14.290 回答
1

您需要指定要构建的项目。像这样:ndk-build -C location_of_project。

例如,要构建 NDK 附带的 hello-neon 示例,您将转到 ndk 安装根目录并执行 ndk-build -C samples/hello-neon

于 2011-02-08T20:43:17.123 回答
0

I also faced this problem. And i solved it and post entire answer here. I hope it helps you.

于 2013-01-11T08:39:40.937 回答
0

对我来说解决方案是不同的。如果您查看 ndk-build 脚本,您会看到它立即运行 `dirname $0` 以获取工作目录。

我从命令行调用“ndk-build”,该命令行使用的是我放入 /usr/local/bin/ 的 ndk-build 脚本的副本,所以我的错误是 '/usr/local/bin/build /core/build-local.mk:没有这样的文件或目录'。

解决方案是在真正的 ndk-build 脚本所在的 ndk 文件夹中,并使用 -C /path/to/project 选项告诉它从哪里开始。所以,'cd /path/to/ndk' 然后运行 ​​'./ndk-build -C /path/to/project'

于 2014-09-21T04:07:25.820 回答
0

请注意,从错误消息中:gmake: /Users/sk/build/core/build-local.mk: No such file or directory。

build/core/builid-local.mk其实是在ndk的根目录下,为什么会被列为/Users/username/build...?

我在我的 Macbook 上遇到了同样的错误。我已将 ndk 放在 /Applications/Android Studio.app 目录中,因为名称之间有空格,因此 ndk 中的工具无法解析隐含路径。这就是打印错误消息的原因。

后来我将 Android Studio.app 重命名为 Android-Studio.app 从而解决了这个问题。

于 2014-01-30T12:00:51.343 回答
0

我遇到了同样的问题。我创建了新的工作区并将现有项目导入其中。但是忘记在 windows->preferences->Android->NDK 中添加 ndk 位置。

于 2016-05-24T17:19:54.680 回答