2010-04-17 99 views
1

我正在修改Firaxis的Civilization 4核心遊戲DLL。主機應用程序使用VC7構建,因此約束(源主機EXE未提供)。VC7.1 C1204內部編譯器錯誤

我一直在努力重寫一大塊代碼(關注低懸掛性能問題&內存泄漏)。我最近碰到一個內部編譯器錯誤,當試圖修改代碼來使用數組類,而不是動態分配的二維數組時,我打算使用boost庫中的矩陣(Civ4已經在使用boost,所以爲什麼不呢?) 。

基本上,問題歸結爲:如果我包含「boost/numeric/ublas/matrix.hpp」,我遇到了內部編譯器錯誤C1204。

MSDN有這樣一段話:MSDN C1204 KB有這樣一段話:KB 883655

所以,我很好奇,是有可能解決這個錯誤沒有一個KB/SP被應用,大大降低了複雜性代碼?

此外,由於VC7不再被「支持」,任何人都沒有一個VC7服務包的有效(支持)鏈接?

更新: 我沒有安裝VS2003;我只有VS2003工具包(即免費下載的編譯器& SDK,而不是完整的IDE)。

回答

1

爲KB 883655的解決辦法是在VS 2003 SP1中提供:

+0

對不起,可能已經澄清,我沒有VS 2003做的,只有該工具包,所以VS2003 SP1不起作用。 – 2010-04-18 21:31:39

+0

ouch - 根據您願意投入多少工作(加上我不知道它是否真的可行)的事實,您可能可以將KB文章中提到的文件從SP1中提取出來安裝程序。搜索「orca.exe」可能有助於打開MSI(您可能必須首先從自解壓.cab文件中提取)才能打開該工具。 – 2010-04-19 00:25:20

+0

謝謝。我恰好已經休息了一週,所以我有時間去燒。 – 2010-04-20 20:39:22

相關問題