簡體   English   中英

IncrediBuild 在一個線程中編譯 Visual Studio 2010/2012 解決方案的一些項目

[英]IncrediBuild compile some projects of Visual Studio 2010/2012 solution in one thread

我們嘗試將包含約 20 個項目的 VS2008 解決方案升級到 VS2010,但是構建其中一些項目存在問題。 我嘗試了不同版本的 VS(2010, 2012, 2013. 即使使用 vc90 編譯器版本) / IncrediBuild(4.61, 5.0, 6.1) / Windows(7, 8) 但沒有任何幫助。 項目和 Incredi 的所有可能選項也已更改。 未為這些項目設置自定義構建規則和步驟。 請告訴我我能做些什么來解決這個問題。

我還無法加載圖像,所以這是構建圖形屏幕截圖鏈接

更新:我嘗試在不使用 IncrediBuild 的情況下在 VS2013 中編譯解決方案,但是使用 /MP 選項,並且得到了相同的結果 - 項目的某些文件是按順序以相同的順序編譯的,因此 Incredi 是無辜的,問題僅在我們的項目以及 VS 如何使用它。

IncrediBuild 的最新公共版本引入了一項功能,這正是您所要求的 - 真正無序\\優化的並行化。 這一新功能允許 IncrediBuild 並行執行 Visual Studio 任務,即使在 Visual Studio 不知道如何執行的情況下也是如此。 這意味着使用 IncrediBuild,每個不真正依賴於先前任務的任務都將與其並行執行。

因此,在上述場景中,盡管填充固定輸出對象文件名會導致 Visual Studio(和 MSBuild)以順序方式編譯這些文件,但 IncrediBuild 將並行編譯它們。

除此之外,在項目 B 依賴於項目 A 的情況下,Visual Studio 只會在 A 的鏈接完成后編譯來自項目 B 的源代碼(盡管大多數時候項目 B 編譯不依賴於項目 A 編譯,只有這些項目的鏈接步驟相互依賴),IncrediBuild 將能夠並行編譯項目 A 和項目 B,然后是 A 的鏈接和 B 的鏈接。

希望這對這個話題有所啟發。

免責聲明:作者是 IncrediBuild 的 CTO

因此,問題在於某些 cpp 文件具有固定的輸出目標文件名。 當這些參數被清除時,它們開始並行編譯。 但是在 VS2008 中,即使有這樣的參數屬性,一切都很好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM