【问题标题】:Running multiple build system processes concurrently同时运行多个构建系统进程
【发布时间】:2026-01-22 01:40:01
【问题描述】:

假设我有一个由CMake 生成的构建目录,其中gmake(或ninja)作为生成器。

以下 bash sn-p 是否是 make 的有效用法(ninja 的问题相同)?

# make&
# make

我之所以问,是因为以下解决方案可能会导致这种情况,例如,通过运行 ctest -j 12CMake & CTest : make test doesn't build tests

【问题讨论】:

  • 以 root 身份构建总是一个坏主意。同时在同一个目录上运行两个 make 或 ninja 实例几乎总是会导致灾难和损坏的构建......可能需要完全清理和重建才能解决。

标签: cmake gnu-make ninja


【解决方案1】:

同时运行多个构建系统进程

没有同步机制。它们只会运行两次而不进行任何同步。

根据大多数情况下的经验,同时运行两次make(或Ninja),将运行每个构建步骤两次,以随机顺序相互覆盖,以先完成者为准。

【讨论】:

    最近更新 更多