【问题标题】:Limiting the number of clang++.exe instances running during a build限制构建期间运行的 clang++.exe 实例的数量
【发布时间】:2020-07-30 14:40:58
【问题描述】:

在构建我的 android 项目时,cmake 会运行多个 clang++.exe 实例,这些实例会占用我机器的资源。有没有办法限制这个?这样的解决方案会导致更长的构建时间吗?

这是我的资源图截图:resource status

我有以下软件包版本:

安卓工作室:4.0.1

ndk:21.3.6528147

cmake:3.10.2

【问题讨论】:

  • 我确实通过了线程,但是投票最多的解决方案需要最低 cmake v3.11,这是我现在想避免的。
  • 我将 cmake 更新到 v3.11 并尝试了@michael 强调的this solution,但我仍然面临同样的问题。

标签: android cmake android-ndk ninja


【解决方案1】:

您的屏幕截图表明您正在为 Ninja 构建系统生成...所以... 如果通过 CMake 可执行文件documented here 构建,您将使用:

cmake --build . -- -j 8

最多可并行构建 8 个 CPU。 (将 8 更改为您想要的任意多个实例。)

如果只是直接使用 Ninja 构建,你会使用类似的东西:

ninja -j 8

达到同样的效果。

【讨论】:

  • 感谢您的评论,有没有办法通过externalNativeBuild{ cmake {...}} 环境来做到这一点?
  • 似乎没有通过externalNativeBuild 的方法,虽然我不太熟悉Android 上的开发。可能有一种方法,在外部,一些与Pools 相关的Ninja 配置?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 2011-01-09
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多