我有40多個項目的大型解決方案。其中幾乎一半是測試項目。 在我的項目中,我們使用代碼合同,代碼分析,風格分析。 我希望能夠在我的四核CPU上構建並行不依賴的項目。Visual Studio 2010,如何在多核上並行構建項目
如何設置msbuild並行構建項目?
我有40多個項目的大型解決方案。其中幾乎一半是測試項目。 在我的項目中,我們使用代碼合同,代碼分析,風格分析。 我希望能夠在我的四核CPU上構建並行不依賴的項目。Visual Studio 2010,如何在多核上並行構建項目
如何設置msbuild並行構建項目?
我知道有一個支持-j開關並行編譯NMAKE的克隆:
http://qt.gitorious.org/qt-labs/jom
而且也是一個的MSBuild黑客,它只是谷歌。我也知道有一種工具支持在多個機器上構建,也可能在多個內核上構建,但目前我不記得它的名字。
希望這有助於。
你可以在MSBuild
並行地啓動構建:
MSBuild
任務的屬性BuildInParallel
與參數/maxcpucount:X
設置爲true
<Target Name="RunInParallel">
<MSBuild BuildInParallel="true"
Projects="@(Projects)"
Targets="RunCodeAnalysis">
</MSBuild>
</Target>
或調用的MSBuild其中X
指定構建中涉及的工作進程數量。該解決方案更適合您的需求。
msbuild [YourSolutionFile.sln] /maxcpucount:4 /p:Platform=AnyCpu;Configuration=Debug;
斯科特Hanselman的上寫道a post,如果你想集成(有點)的過程到Visual Studio作爲外部工具。
對於C++項目,你可以直接在Visual Studio中設置多處理器編譯:
Tools | Options | Projects and Solutions | Build and Run
謝謝,我們沒有進入C++,但是如果其他讀者是那麼你應該看看這個工具:http://www.xoreax.com/visual_studio.htm – 2010-05-18 11:41:30
在Visual Studio:工具|選項|項目和解決方案|構建並運行。這應該默認爲你的CPU數量。
從命令行:msbuild /maxcpucount[:n]
(未指定n,則將使用CPU計數)。
我們還發現,在Visual Studio中:工具 - >選項 - >項目和解決方案 - >構建和運行 - >。 您可以將MSBuild項目構建輸出詳細程度和日誌文件詳細程度都設置爲:Quiet。 這將使構建過程更加快速,IDE在構建過程中響應更快(它與VS2010與輸出相關的IDE鎖定是緩慢構建過程中的主要因素ess)< - MS:請修復! – 2010-05-18 11:46:41
上帝保佑你@thomasnn – 2012-05-23 08:25:17
然後,您正在尋找的真正答案是將/ MP編譯器標誌添加到CXX編譯器標誌。
在Visual Studio中在項目屬性頁面下> C \ C++>常規多處理器編譯只需輸入Yes(/ MP)。現在,它將在每個核心上並行構建所有40個項目。
這是針對所有語言的Visual Studio 11構建的,而不僅僅是C++。 「Visual Studio 2010包含」最大並行項目構建數量「選項。儘管沒有任何限制,但此IDE選項僅適用於C++項目。幸運的是,這個限制不再適用於Visual Studio 11「www.visualstudiomagazine.com
這個問題並不清楚這個問題是直接在VS2010中編譯還是通過msbuild4編譯,下面你對日誌中爭用的評論應該是一個答案 – GregC 2012-06-20 17:04:56