【问题标题】:Cannot use ndk-build on Cygwin无法在 Cygwin 上使用 ndk-build
【发布时间】:2011-06-15 09:55:04
【问题描述】:

我必须将 NDK 用于客户项目。我正在使用 Windows 7。

我按照安装说明进行操作。我已经安装了 Cygwin 1.7.1。

在 Cygwin bash 中,我进入 android NDK 根目录。

当我看到目录的内容时,使用 $dir 命令,我可以看到包括 ndk-build 在内的所有内容,但是当我尝试使用 ndk-build 时,这是我得到的结果:

$ndk-build bash:ndk-build:找不到命令。

不知道我做错了什么。

【问题讨论】:

  • @svens :这行得通,谢谢!如果您要给出这个答案,我会对此进行“接受”。看起来我至少更近了一步,因为现在出现了一个不同的错误:“请安装 Cygwin make 包或定义 GNUMAKE 变量以指向它”

标签: android cygwin android-ndk


【解决方案1】:

Cygwin 在您的 Windows 计算机上模拟 GNU/Linux 环境。这意味着您正在使用与 Windows 命令行不完全相同的“Shell”。

如果您在 Windows 命令行中键入 asdf.exe,它会尝试在当前目录中查找 asdf.exe。如果它可以找到它,则执行该文件。如果找不到,它将遍历您的%PATH% 的每个目录并重试。

但是,如果您在 bash 中键入 asdf(有多种 shell,Bourne Again SHell 就是其中之一),它将在当前目录中处理它。相反,它会尝试在您的PATH 目录之一中找到它。不能在这里给你任何消息来源,但 AFAIK 是出于安全原因。如果要运行不在PATH 中的文件,则必须在其前面加上绝对相对路径。你可以使用./,它指向当前目录。

这就是您需要输入./ndk-build 的原因,因为它位于当前目录而不是您的路径中。 /path/to/ndk/ndk-build 之类的内容也可以,但您必须输入更多内容:)。

(其实更复杂,如果你想执行一个文件,你需要它的执行权限。如果你有任何问题,谷歌会帮助你。)

【讨论】:

  • 感谢您的详细解释,让我想起了java中的CLASSPATH,除非您特别要求,否则它不会查看当前目录。 投票
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 2011-09-05
  • 2011-11-30
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
相关资源
最近更新 更多