我如何在Visual Studio 2010中进行并行生成?

我怎样才能让VS 2010一次运行多个C ++编译过程? 我的意思是平行build立目标模块; 我不感兴趣一次构build多个项目(我知道“工具”>“选项”>“构build并运行”,“并行项目构build的最大数量”,但这并不符合我的要求)。

基本上,我正在寻找Visual Studio的相当于“make -jN”。

  1. 工具 – >选项
  2. 项目和解决scheme\ VC ++项目设置
  3. 最大的并发C ++编译

而且,正如Ross Smith在评论中所说的那样,你还需要打开项目中的“Multiprocessor compilation”选项:

  1. 项目属性
  2. configuration属性> C / C ++>常规
  3. 多处理器编译
  4. 利润!

Necrolis的评论似乎是正确的解决scheme。

/ MP(使用多个进程构build)

/ MP选项使编译器自己创build一个或多个副本,每个副本都在一个单独的进程中。 这些副本同时编译源文件。 因此,构build源文件的总时间可以显着减less。

请注意,您可以将它设置为项目级别(因此将应用于其中的所有文件)以及单个文件,例如,如果您需要使用#import ,则很有用。

特别是,/ MP通常与预编译头文件或使用#import源文件不兼容; 在这种情况下,您仍然可以在项目上设置/ MP标志,然后在单个文件(通常是stdafx.cpp和使用#import的任何文件)上清除它。

有两个开关必须设置为了使用multithreading来编译VS(都是项目特定的):

  • 项目属性 – > C / C ++ – >常规 – > 多处理器编译设置为: 是(/ MP)
  • 项目属性 – > C / C ++ – >代码生成 – > 启用最小重build设置为: 否(/ Gm-)

检查您的工具 – >选项 – >项目和解决scheme – > VC ++项目设置 – > 最大并发C ++编译设置。 默认值是0,这使得VS可以尽可能多地使用并发编译。

jom是你正在寻找的工具。

来自wiki: http : //qt-project.org/wiki/jom

jom是nmake的一个克隆,支持并行执行多个独立的命令。 它基本上增加了类似于GNU make的-j命令行开关。

虽然大多数文档是针对Qt开发人员试图加快Windows上的Qt库的构build,但是jom应该在非Qt项目中也能很好地工作,只要你有一个nmake兼容的makefile即可。

维基页面有你可以下载的二进制文件,你可以打电话给jom。

这是我做的

1)转到工具 – >选项比“项目和解决scheme” – >“build立和运行”对我来说它有核心的数量。 虽然起初我以为这是我所需要做的,但没有

2)右键单击您的项目并select属性。 在“configuration属性” – >“C / C ++” – >“命令行”下input/MP4 ,其中4是您拥有的核心数量。 你会得到一个警告标志不兼容,所以我们有另一个步骤

3)进入“configuration属性” – >“C / C ++” – >“代码生成”下面有“启用最小重build”。 将其改为no。

重build,你应该在你的任务pipe理器中看到多个CL进程。

我懂了! 您的要求是在并行线程中构build单个项目。

我发现Shark编译器控件插件非常有用

Interesting Posts