Visual Studio 2010, how to build projects in parallel on multicore

大城市里の小女人 提交于 2019-11-28 17:33:00

In Visual Studio: Tools | Options | Projects and Solutions | Build and Run. This should default to your CPU count.

From the command line: msbuild /maxcpucount[:n] (is n is not specified, then it will use the CPU count).

You could launch the build in MSBuild in parallel by :

  • Setting the attribute BuildInParallel of MSBuild task to true

    <Target Name="RunInParallel">
      <MSBuild BuildInParallel="true"
               Projects="@(Projects)"
               Targets="RunCodeAnalysis">
      </MSBuild>
    </Target>
    
  • Or calling msbuild with the parameter /maxcpucount:X where X specifies the number of worker processes that are involved in the build. This solution better suits your need.

    msbuild [YourSolutionFile.sln] /maxcpucount:4 /p:Platform=AnyCpu;Configuration=Debug;
    

Scott Hanselman wrote a post on that, if you want to integrate (kinda) the process into Visual studio as an external tool.


For C++ projects you could configure multiprocessor build directly in Visual Studio :

Tools | Options | Projects and Solutions | Build and Run

I know that there is a clone of nmake that supports the -j switch to compile in parallel:

http://qt.gitorious.org/qt-labs/jom

and there is also a hack for MSbuild, just google it. I also know there is a tool that supports building on multiple machines and perhaps also on multiple cores, but I dont remember its name at the moment.

hope this helps.

Then real answer you are looking for is to add the /MP compiler flag to the CXX compiler flags.

In Visual Studio Under the project property page> C\C++ >General Multi-processor compilation just type Yes (/MP). Now it will build all 40 projects in parallel on each of the cores

This is now built in for Visual Studio 11 for all languages, not just C++. "Visual Studio 2010 included an option for "maximum number of parallel project builds." Although there was no indication of any restriction, this IDE option only worked for C++ projects. Fortunately, this restriction no longer applies to Visual Studio 11" from www.visualstudiomagazine.com

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!