Android ndk Android NDK使用Cygwin时出错:错误:GNUMAKE变量定义为无效名称
我正在尝试使用AndroidNDK构建一个静态库。为此,我安装了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软件包 或者定义GNUMAKE变量以指向它 我浏览了几篇博客,并遵循了其中的解决方案:Android ndk Android NDK使用Cygwin时出错:错误:GNUMAKE变量定义为无效名称,android-ndk,Android Ndk,我正在尝试使用AndroidNDK构建一个静态库。为此,我安装了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并将其指
C:\Android\Android-ndk-r7\prebuild\windows\bin
C:\Android\Android-ndk-r7 但每次我都犯了同样的错误: 错误:GNUMAKE变量定义为无效名称:C:\Android\Android-ndk-r7 请将其修复为指向有效的make可执行文件(例如/usr/bin/make)
感谢您的帮助。从NDKr7开始,您不再需要Cygwin来构建库。这是更简单的方法
cdd:\NDK\test
C:\Android\Android-ndk-r7\ndk build
这应该可以为您完成所有工作。从NDKr7开始,您不再需要Cygwin来构建库。这是更简单的方法
cdd:\NDK\test
C:\Android\Android-ndk-r7\ndk build
这应该能帮到你。我努力解决gygwin terminal中的错误“gnumake变量被定义为无效名称”,然后我得出结论,只要删除系统和用户变量中的环境变量中的gnumake path(如果你创建了它),我们就可以删除这个错误
mycomputer>system properties>advanced system Settings>environment variable我努力解决gygwin终端中的错误“gnumake variable被定义为无效名称”在这之后,如果您创建了GNUMAKE path环境变量,我们只需在系统和用户变量中删除GNUMAKE path,就可以删除这个错误
mycomputer>系统属性>高级系统设置>环境变量感谢您的回复。我现在可以建图书馆了。我还要确认一件事:在您的回复中,您提到了本机代码。我相信这是用于java应用程序的。正当现在我只是想创建一个可执行文件,这样我就可以将它传输到我的Galaxy SII上,然后从那里运行它来执行文件I/O。我的Make File Right就是编译C源代码并将其构建成一个可执行文件。这听起来不错,还是我需要一个完整应用程序的java代码?当我们说Native时,我们指的是非java代码,或者更确切地说是不在虚拟机上运行的代码。您构建的只是库,所以您仍然需要一些东西来运行程序并与它们对话,所以是的,您要么需要Java,要么可以构建一个完全本机的活动。NDK附带了一个此类活动的示例。我使用$(BUILD_Executive)创建了一个NDK可执行文件,在我的手机(Samsung Galaxy S2)上运行此可执行文件而无需根,我将其推送到/data文件夹:adb push D:\NDK\test/data/local/tmp要验证,我通过cd转到data/local/tmp文件夹,然后我可以使用ls查看该文件。现在要运行可执行文件,我键入了./test,但我得到一个错误:“权限被拒绝”。我是NDK&Android新手,因此我不确定在创建可执行文件或在手机上使用它时是否遗漏了任何步骤。如果你有任何想法,请告诉我。谢谢你的回复。我现在可以建图书馆了。我还要确认一件事:在您的回复中,您提到了本机代码。我相信这是用于java应用程序的。正当现在我只是想创建一个可执行文件,这样我就可以将它传输到我的Galaxy SII上,然后从那里运行它来执行文件I/O。我的Make File Right就是编译C源代码并将其构建成一个可执行文件。这听起来不错,还是我需要一个完整应用程序的java代码?当我们说Native时,我们指的是非java代码,或者更确切地说是不在虚拟机上运行的代码。您构建的只是库,所以您仍然需要一些东西来运行程序并与它们对话,所以是的,您要么需要Java,要么可以构建一个完全本机的活动。NDK附带了一个此类活动的示例。我使用$(BUILD\u executable)创建了一个NDK可执行文件,以便在我的手机(三星Galaxy)上运行此可执行文件
$ make -v