1

在将我的 Android NDK 从 android-ndk-r8b(官方)切换到 android-ndk-r7-crystax-5.beta2(非官方 Crystax 构建)后,我在 Eclipse (ADT) 中构建的 NDK 立即开始失败,原因如下:

bin/sh -c:line 1 Syntax Error:unexpected end of file

从命令行构建(即运行ndk-build.cmd)照常工作。

4

1 回答 1

0

通过快速分析(使用 Sysinternals Proccess Monitor - NDK 自己的详细日志记录对我帮助不大),我看到 make.exe 调用 c:\cygwin\bin\sh.exe 显然是 DOS 批处理命令(! ):

C:/cygwin/bin/sh.exe -c "if not exist \"obj\local\armeabi\\\" md \"obj\local\armeabi\\\""

虽然我的 PATH 上没有 C:\Cygwin\bin (这是一个坏主意 - 导致与批处理文件不兼容),但 Eclipse ADT 将 C:\Cygwin\bin 预先添加到项目的 PATH 中:-( 一旦我删除了 C :\cygwin\bin 从路径中,问题解决了。

要解决这个问题:

  1. 在 Eclipse 中,打开项目的上下文菜单,转到Project Properties | C/C++ 构建 | 环境
  2. 编辑 PATH 环境变量并"C:\cygwin\bin;"从其开头删除。
  3. (原点将从BUILD SYSTEM更改为USER; CONFIG
  4. 建造!
于 2012-08-18T15:51:06.933 回答