未设置 Ninja CMAKE_MAKE_PROGRAM 的 ndk 构建错误

che*_*ish 7 android-ndk android-studio

我下载了 ndk cmake 和 LLDB 用于 ndk 开发。然后我用 C++ 代码创建了一个项目?应用程序编译错误。

CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

...

Configuration failed.
External native generate JSON debug: JSON generation completed with problem
FAILURE: Build failed with an exception.

\* What went wrong:
Execution failed for task ':app:generateJsonModelDebug'.
com.android.ide.common.process.ProcessException: Error configuring
Run Code Online (Sandbox Code Playgroud)

Aur*_*raf 6

我用 Valentin Safonnikov 的评论解决了这个问题:

“您可以将 cmake 的路径添加到与 gradlew 相同的目录中的 local.properties 文件中,而不是更改全局路径。cmake.dir=D\:\\Android\\sdk\\cmake\\3.10.2.4988404

编辑:我只认为它已解决。当我卸载 cmake 3.10 并只安装 cmake 3.6 时,所有问题才最终得到解决(即使使用 3.10,它仍然使用 3.10 cmake.dir=...\\3.6...。我可以在文本 gradle 输出中看到这一点:

External native generate JSON debug: executing cmake Executable : C:\Users\User\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe
arguments : 
...
-DCMAKE_MAKE_PROGRAM=C:\Users\User\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\ninja.exe
...
Run Code Online (Sandbox Code Playgroud)

  • cmake.dir 对我没有帮助,“卸载 cmake 3.10”救我。 (4认同)

che*_*ish 3

我已经通过将 ninja 添加到 Path 解决了这个问题。

/Users/fish/Library/Android/sdk/cmake/3.10.2.4988404/bin
Run Code Online (Sandbox Code Playgroud)