ADT和Mac OS中的Android NDK(10.8):无法运行程序"/ ndk-build":未知原因错误:在PATH中找不到程序"/ ndk-build"

moh*_*hit 2 android opencv environment-variables android-ndk eclipse-adt

构建时的错误是

/ndk-build 

Cannot run program "/ndk-build": Unknown reason
Error: Program "/ndk-build" is not found in PATH

PATH=[/usr/bin:/bin:/usr/sbin:/sbin]
Run Code Online (Sandbox Code Playgroud)

我正在尝试在Eclipse ADT上构建一个OpenCV项目,并且到目前为止已经完成了以下内容来构建它.正常的android项目(不涉及c/c ++代码)工作正常.

1-我已将/ etc/paths编辑为以下内容

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
PATH=$PATH:/Users/mohitagrawal/adt-bundle-mac-x86_64-20130219/sdk/tools
PATH=$PATH:/Users/mohitagrawal/adt-bundle-mac-x86_64-20130219/sdk/platfor
m-tools
PATH=$PATH:/Users/mohitagrawal/android-ndk-r8e
Run Code Online (Sandbox Code Playgroud)

2-我已编辑$ PATH以下(有意或无意)

    -bash: /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:
PATH=$PATH:/Users/mohitagrawal/adt-bundle-mac-x86_64-20130219/sdk/tools:PATH=$PATH:/Users/mohitagrawal/adt-bundle-mac-x86_64-20130219/sdk/platfor:m-tools:
PATH=$PATH:/Users/mohitagrawal/android-ndk-r8e:/opt/X11/bin:/usr/local/git/bin:/usr/texbin: No such file or directory
Run Code Online (Sandbox Code Playgroud)

3-项目属性中"C/C++ Build"中的Build命令设置为

${NDK_ROOT}/ndk-build 
Run Code Online (Sandbox Code Playgroud)

ADT eclipse首选项中的4 NDK位置设置为

/Users/mohitagrawal/android-ndk-r8e
Run Code Online (Sandbox Code Playgroud)

请帮我.我被困了很多天,甚至尝试过不同的平台.

Jon*_*rin 10

您需要在Eclipse中更改PATH,因为它是试图运行命令的Eclipse.转到项目属性> C/C++生成>环境> PATH

在PATH变量中添加路径到ndk目录(即添加/Users/mohitagrawal/android-ndk-r8e到PATH变量).

而且,它显然试图运行/ndk-build.确保在项目属性> C/C++ Build中,"构建命令"是否ndk-build存在/ndk-build

编辑:您还可以尝试从终端构建项目,导航到项目并运行命令ndk-build.


Gor*_*ail 5

我已经尝试了所有可以在stackoverflow上找到的解决方案,但没有一个能够工作.最后我发现了这个博客.

我将在此处发布解决方案,因为链接可能在未来中断:

1. Open up Terminal.
2. Run the following command: sudo nano /etc/paths
3. Enter your password, when prompted.
4. Go to the bottom of the file, and enter the path you wish to add.
5. Hit control-x to quit.
6. Enter "Y" to save the modified buffer.
Run Code Online (Sandbox Code Playgroud)