android-studio - Ninja CMAKE_MAKE_PROGRAM 的 ndk 构建错误未设置
问题描述
我下载了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
解决方案
我用 Valentin Safonnikov 的评论解决了这个问题:
“而不是更改全局路径,您可以将 cmake 的路径添加到与 gradlew 相同的目录中的 local.properties 文件中。
cmake.dir=D\:\\Android\\sdk\\cmake\\3.10.2.4988404
”
编辑:我只以为它已经解决了。当我卸载 cmake 3.10 并只安装 cmake 3.6 时,所有问题才最终得到解决(即使使用 .,它仍然使用 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
...
推荐阅读
- bash - 如何在终端上将所有目录中的文件重命名为相同的名称
- mysql - 从包含组的多个表中选择并加入
- ios - 我们可以通过 IOS API 在后台扫描 Ibeacons,只提供 Major 和 Minot 编号作为参数吗?
- python - 无法删除 Python3.5
- python - 如何从 Django-solo 获取对象?
- c# - 我们是否有适用于 V4 协议的 sagepay C# 直接集成工具包?
- linux - 如何在 chromebook 中从 .Desktop 文件为 linux 启动 Qt 应用程序?
- c# - C#中的MongoDB - 执行多重过滤的正确方法是什么
- javascript - 如何在 Global Jest 设置中查找别名?
- svg - inkscape:transform-center-x/y 是什么意思?