直接调用 ninja 与通过 cmake --build 调用之间的区别

phr*_*iro 12 cmake ninja

请遵循以下命令:

首先我这样做:

cmake -G Ninja ..
Run Code Online (Sandbox Code Playgroud)

然后:

cmake --build . -j10
Run Code Online (Sandbox Code Playgroud)

或者:

ninja -j10
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别?它们之间有优点还是缺点吗?

BZK*_*ZKN 14

当您运行cmake -G Ninja..它时,本质上意味着您正在使用名为Ninja 的构建系统。为了更好地理解这种视觉描述,将进一步阐明。此外,它将生成 Ninja 构建文件。Ninjacmake -G Ninja..

cmake --build . -j10关于你的问题和 之间有什么区别ninja -j10

显然,您的情况没有什么不同,因为您cmake -G Ninja ..之前已经运行过。和cmake --build . -j10ninja -j10适合你的情况。

进一步澄清,-j意思是“工作数量”。更准确地说,是-jN。其中明确设置要并行运行的N作业数量”。这意味着您的构建将使用您拥有的10 线程-j10