C++:构建选项“-j”是啥意思?

Posted

技术标签:

【中文标题】C++:构建选项“-j”是啥意思?【英文标题】:C++: What does the build option "-j" mean?C++:构建选项“-j”是什么意思? 【发布时间】:2019-09-20 10:44:04 【问题描述】:

我有一个项目,它由 C++ 代码组成,并使用 CMake 作为构建系统及更高版本,它使用 Catkin 工具 catkin_make 构建项目。问题是,它是否构建取决于天气我使用构建选项-j,如catkin_make -j4。 (仅适用于-j1)我已经用谷歌搜索/***ed,但找不到这个选项的含义。

我相信-j 也经常用于其他不使用 Catkin 的 C++/CMake 项目中,所以也许有人可以给我解释一下。

谢谢!

【问题讨论】:

-j4 会比-j1 消耗更多的内存。 -j4 的内存不足了吗? 好的,太好了!无论如何,我认为它不依赖于柳絮。只是想将其声明为附加信息。也感谢 gihub 链接。不,我认为这不是内存问题。我得到了Failed to build target 'all'make -j2 -l2 failed。非常神秘,因为 makefile 是由 catkin/CMake 自动生成的。 CMake 生成的 makefile 支持 VERBOSE=1 进行调试,因此除了 -j4 之外,请尝试使用。 @MSalters:谢谢!那是很好的建议。使我能够修复它。 【参考方案1】:

在他们的github repository 中,他们说-j 参数直接传递给make 命令。

make 的 -j (--jobs) 和 -l (--load-average) 参数也被提取并直接传递给 make

所以-jN表示并行运行的作业数。

【讨论】:

以上是关于C++:构建选项“-j”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Intellisense和浏览信息将不能用于C++项目,请确保已经安装Microsoft SQLserver compact 3.5 是啥意思

文本 DFM 上下文菜单选项是啥意思?

这个选项“方案/编辑方案/选项/允许位置模拟”在 XCode 中是啥意思?

时间聚合字段中的各种选项是啥意思?

“PHP 编译选项”到底是啥意思?

curl 选项 CURLOPT_HTTPPROXYTUNNEL 是啥意思?