【发布时间】:2011-07-05 15:32:43
【问题描述】:
我有几个项目都依赖于一个基本库。现在,当我更改这个基本库中的头文件时,我必须重建所有依赖项目。目前 Eclipse/CDT 一个接一个地构建项目。如何并行构建所有这些项目?
请注意,我已经为每个项目使用了 -j(并行编译)选项。但这还不够,因为:
- 确实有很多可用的 CPU(对于大多数项目来说,不仅仅是源文件)并且
- 由于并行编译,链接花费的时间比编译要长很多,并且(据我所知)不能使用多线程。
【问题讨论】:
-
xkcd.com/303 这是一个完美的借口,为什么要改变它? ;)
-
所有依赖于你的库的项目是否可以反过来成为一个虚拟项目的依赖项,然后可以并行构建?还是我在这里遗漏了什么?
-
@Xeo:不能!等待!再长一点!
-
@vpit3833:重点是,eclipse 编译并链接项目 1,当它完成时比项目 2,而不是项目 3 ......当它编译时我有 ~40% 的负载(感谢-j 但仍然不是 100%,因为通常没有足够的源文件来保持所有内核忙碌)以及当它链接 ~5% 负载时(15 个空闲内核......)。所以总负载大约是 15%。但我天真的想法希望它在 100% 负载下快 6 倍:D
-
你必须在eclipse中编译吗?也许如果您从命令行编译基本库,那么您可以简单地使用基本库对象启动多个线程(一些 makefile 魔术?)
标签: c++ eclipse eclipse-cdt