【发布时间】:2011-07-30 11:39:16
【问题描述】:
我正在尝试按照问题所说的去做——使用 Cygwin shell。我已经根据我在 Google 上搜索过的 2 个基本等效的教程进行了设置,但我无法让 shell/make 过程正常工作。显然缺乏 Unix/Cygwin 技能。
所以,我的 Cygwin 已安装到它的默认位置,并且我还正确设置了 Android SDK 和 NDK(普通的 Java 应用程序可以在 Eclipse 中正常构建/调试)。
这是我修改后的 Cygwin.bat 的样子:
@echo off
set IS_UNIX=
set DEV_ROOT=c:/PROGRA~1/Android/android-ndk-r6/samples/san-angeles
set JAVA_HOME=c:/PROGRA~1/Java/jdk1.6.0_26
set CLASSPATH=c:/PROGRA~1/Android/android-ndk-r6/samples/san-angeles/obj
set PATH=c:/PROGRA~1/Android/android-sdk/tools;c:/PROGRA~1/Android/android-ndk-r6
set ANDROID_NDK_ROOT=c:/PROGRA~1/Android/android-ndk-r6
set NDK_PROJECT_PATH=c:/PROGRA~1/Android/android-ndk-r6/samples/san-angeles
C:
chdir C:\cygwin\bin
bash --login -i
这些路径是正确的。当我将路径更改为 NDK 根目录并键入 ./ndk-build 时,结果如下:
nova@edwmini ~
$ cd c:/progra~1/android/android-ndk-r6
nova@edwmini /cygdrive/c/progra~1/android/android-ndk-r6
$ ./ndk-build
/cygdrive/c/progra~1/android/android-ndk-r6/build/core/build-binary.mk:37: *** t
arget pattern contains no `%'. Stop.
nova@edwmini /cygdrive/c/progra~1/android/android-ndk-r6
$
我们将不胜感激。
【问题讨论】:
-
如果我没记错的话,你应该从项目目录编译,而不是 NDK 根目录。
-
ThomasW 是正确的。您需要
cd到项目(在本例中为 DEV_ROOT),然后调用ndk-build。另一方面,您应该(除非 Cygwin.bat 工作方式不同)将:$PATH添加到set PATH=行的末尾,否则您会丢失 PATH 上已经设置的任何其他内容。 -
谢谢各位大佬,试试看!
-
cd $DEV_ROOT 和将我的路径更改为 /cygwin/c/etc 解决了问题!
-
您能否将解决方案作为答案发布在下面,以便我们将其从未答复列表中删除?谢谢。
标签: android cygwin android-ndk