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 是啥意思