ogre 無法用incredibuild 聯編的解決方法

這個問題遇到了很多次,有的時候重裝incrediBuild可以解決問題,但有時卻無能爲力,今天終於找到了解決方案,感謝分享的這位同志!

 

 

 

http://blog.csdn.net/pizi0475/archive/2011/05/23/6439690.aspx

 

打開 ogremain 項目屬性頁

 

   將配置屬性->C++->命令行->附加選項

   的/Zm1000   改爲 /Zm500 即可

附上/Zm 編譯選項介紹

/Zm(指定預編譯頭的內存分配限額)

確定編譯器分配的用於構造預編譯頭的內存量。

/Zmfactor
factor

一個比例因子,確定編譯器用於構造預編譯頭的內存量。

factor 參數是編譯器定義的工作緩衝區的默認大小所佔的百分比。 factor 參數的默認值是 100 (%),但您可以指定更大或更小的數量。

在早期版本的 Visual C++ 中,編譯器使用幾個離散堆,每個堆都有一定的限制。 當前,編譯器可根據需要動態增加堆,最多可增加到總堆大小限制,並且只需要固定大小的緩衝區即可構造預編譯頭。 因此,很少需要 /Zm 編譯器選項。

如果在您使用 /Zm 編譯器選項時,編譯器用完堆空間,發出 C1060 錯誤消息,則您可能保留了太多的內存。 可考慮移除 /Zm 選項。 如果編譯器發出 C1076 錯誤消息,則伴隨的 C3859 消息會指定您在使用 /Zm 編譯器選項重新編譯程序時應使用的 factor 參數。

下表顯示當您假定默認預編譯頭緩衝區的大小爲 75 MB 時,factor 參數如何影響內存分配限制。

factor 的值

內存分配限制

10

7.5 MB

100

75 MB

200

150 MB

1000

750 MB

2000

1500 MB

設置內存分配限制的其他方式

在 Visual Studio 開發環境中設置 /Zm 編譯器選項

  1. 打開該項目的“屬性頁” 對話框。 有關詳細信息,請參見 如何:打開項目屬性頁

  2. 單擊“C/C++” 文件夾。

  3. 單擊“命令行” 屬性頁。

  4. “附加選項” 框中鍵入編譯器選項。

以編程方式設置 /Zm 編譯器選項

錯誤 C1060

編譯器的堆空間不足

操作系統或運行庫無法滿足內存要求。

若要修復此錯誤,請嘗試以下可能的解決方案

  1. 如果編譯器還發出錯誤 C1076 C3859 ,請使用 /Zm 編譯器選項來降低內存分配限制。 如果您減少剩餘內存分配,則會增加可用於應用程序的堆空間。

    如果已設置了 /Zm 選項,請嘗試移除它。 堆空間可能會用完,因爲選項中指定的內存分配限制太高。 如果您移除 /Zm 選項,則編譯器將使用默認限制。

  2. 增加 Windows 交換文件的大小。

  3. 關閉其他正在運行的程序。

  4. 消除不需要的包含文件。

  5. 消除不需要的全局變量,例如,動態分配內存而不是聲明一個大數組。

  6. 消除未使用的聲明。

  7. 將當前文件拆分成更小的文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章