2011-03-25 107 views
0

我使用MSBuild.exe來構建我的Visual C++解決方案。解決方案中的一個項目編譯爲一個靜態庫(我們稱之爲MyLib.lib),許多其他項目都是鏈接到MyLib.lib的小工具。MSBuild.exe不能並行構建項目

我編譯它是這樣的: 的MSBuild MySolution.sln/P:配置=釋放/ P:平臺= 「Win32的」/ maxcpucount:4

不過,我可以看到,每一個項目都是按順序建立。總是隻有一個MSBuild.exe正在運行。

我做錯了什麼?

[編輯:我使用Visual Studio 2008]

+0

如果一個項目取決於另一個項目,您希望並行完成什麼? – 2011-03-25 20:35:29

+0

對不起 - 我編輯了這個問題,使之更清晰。在我的解決方案中,大約有15個項目依賴於MyLib.lib。我希望一旦MyLib.lib自行構建,就可以同時構建這15個項目。 – Warpin 2011-03-25 20:37:46

回答

1

只有不依賴於彼此可以建在並行項目。顯然這不是你的情況,只有在.lib可用時才能建立工具。

編輯:你沒有使用VS2010。對於VS2008,你應該使用vcbuild.exe。使用/ M4啓用併發構建

+0

所以我需要一個構建MyLib.lib的解決方案,以及另一個解決方案以及依賴於其他項目的另一個解決方案? – Warpin 2011-03-25 20:39:49

+0

那會完成什麼? – 2011-03-25 20:43:57

+0

從第二個解決方案的項目將沒有依賴性(他們只是鏈接一個.lib文件,它已經存在,並從第一個解決方案構建),所以他們應該能夠並行構建 – Warpin 2011-03-25 20:49:28

0

項目必須逐個編譯,因爲存在依賴關係。 無論如何,MSBuild並不是在並行執行編譯。

相關問題