【问题标题】: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)我已经用谷歌搜索/stackoverflowed,但找不到这个选项的含义。

我相信-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:谢谢!那是很好的建议。使我能够修复它。

标签: c++ build cmake ros catkin


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 2013-03-07
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2012-08-30
    相关资源
    最近更新 更多