在Android ADT中构建OpenCV 2.4.5:在PATH中找不到“ndk-build”

时间:2013-05-02 00:41:03

标签: android opencv

我正在尝试按照this OpenCV document将OpenCV示例项目导入到Android ADT中,并且现在臭名昭着的“程序”C:\ android \ android-ndk-r8d-windows \ ndk-build“在PATH中找不到“错误。我的操作系统是Windows 7,我使用cygwin来执行任何类似Linux的命令。

请注意:我已经下载了NDK软件包,已经将NDKROOT的值设置为我的NDK根文件夹。我将NDKROOT设置为系统范围的环境变量,并设置为ADT的C / C ++ Build环境变量,如下所示:

enter image description here

在我的NDK根文件夹中,我制作了相同的文件“ndk-build.cmd”,并分别将它们重命名为“ndk-build”和“ndk-build.sh”。我chmod + x到所有三个ndk-build *文件。

现在发生的事情真的令人费解:如果我将C / C ++ Build命令指定为$ {NDKROOT} / ndk-build或$ {NDKROOT} /ndk-build.sh,我会收到错误“Program”C: \ android \ android-ndk-r8d-windows \ ndk-build“在PATH中找不到”。但是,如果我将其指定为$ {NDKROOT} /ndk-build.cmd,ADT显然会找到它,但会尝试将其作为Windows命令运行,而不是作为bash脚本运行,如下所示:

enter image description here

enter image description here

我可以构建项目的唯一方法是打开一个cygwin终端,cd到示例项目文件夹,然后运行脚本(ndk-build或ndk-build.sh),如下所示:

enter image description here

我用Google搜索解决方案。虽然有很多“在PATH中找不到ndk-build.cmd”的问题,但我还没有看到像我这样的案例。怎么了?我也可以将我的问题发布到openCV论坛。

2 个答案:

答案 0 :(得分:2)

显然,Eclipse尝试运行的命令(使用${NDKROOT}/ndk-build.cmd版本时)是C:\\android\\android-ndk-r8d-windows\\ndk-build.cmd,这显然是正确的。

问题是您的ndk-build.cmd不是Windows命令文件。它应该是。我刚刚下载了Windows版本的ndk-r8e,并且复制了ndk-build.cmd文件here

尝试再次下载ndk或修改cmd文件。

答案 1 :(得分:0)

您应该添加${NDKROOT}变量(NDK所在的文件夹),方法与PATH变量相同