Android NDK使用Cygwin时出错:ERROR:GNUMAKE变量定义为无效名称

时间:2011-12-26 20:06:48

标签: android-ndk

我正在尝试使用Android NDK构建静态库。为此,我安装了Cygwin& Android的NDK-R7。

要构建库,我已经创建了所需的源文件和Android.mk文件。这些文件位于我的机器上的“D:\ NDK \ test”下。

我的NDK工具安装在“C:\ Android \ android-ndk-r7”& Cygwin文件位于“C:\ Cygwin \ http%3a%2f%2fcygwin.mirrors.hoobly.com%2f”下。因此,任何位置都没有空间。

为了构建库,我启动了Cygwin并将其指向我的源文件和Android.mk文件所在的位置。然后给出构建命令我输入“/ cygdrive / c / Android / android-ndk-r7 / ndk-build”。在给出上述命令时,我收到一条错误消息:

  

错误:找不到'make'程序。请安装Cygwin make package   或定义GNUMAKE变量以指向它。

我浏览了几个博客,并按照他们的解决方案:

  1. 在Cygwin安装中的Devel文件夹下安装make。这没有做任何改变。

  2. 创建环境变量GNUMAKE并将其定义为/ usr / bin / make。我也尝试将这个变量定义到不同的位置:

      

    C:\ Cygwin的\ HTTP%3A%2F%2fcygwin.mirrors.hoobly.com%2F \ BIN
      C:\ Android的\ Android的NDK-R7 \预建\ WINDOWS \ BIN
      C:\ Android \ android-ndk-r7

    但每次我都得到同样的错误:

      

    错误:您的GNUMAKE变量定义为无效名称:C:\ Android \ android-ndk-r7   请将其修复为指向有效的make可执行文件(例如/ usr / bin / make)

  3. 所以看起来我没有正确指出路径。 有人可以告诉我GNUMAKE指向哪条路径。

    我也在我的Cygwin提示符下创建了-v,并弹出以下消息(这让我相信所有与Cygwin安装相关的内容都很好):

    $ make -v
    

    GNU Make 3.81

    版权所有(C)2006 Free Software Foundation,Inc。 这是免费软件;查看复制条件的来源。 没有保修;甚至不适用于A的适销性或适用性 特别目的。

    此程序是为Windows32构建的

    感谢您的帮助。

2 个答案:

答案 0 :(得分:14)

从NDKr7开始,您不再需要Cygwin来构建库。这是更简单的方法。

  1. 在命令提示符下,导航到项目目录:cd D:\NDK\test
  2. 确保您的本机代码和Android.mk位于该目录的jni文件夹中
  3. 致电ndk-build:C:\Android\android-ndk-r7\ndk-build
  4. 这应该为你做的一切。

答案 1 :(得分:1)

我在gygwin终端“gnumake变量被定义为无效名称”时努力工作,之后我发现我们只是通过删除环境变量中的GNUMAKE路径来删除此错误在系统和用户变量中,如果你创建它....

mycomputer&gt;系统属性&gt; <高级系统设置>环境变量