我試圖編譯我們的項目在Visual Studio 2010中使用2005編譯器,我偶然發現了這個奇怪的錯誤。VS2005 C++編譯器崩潰與/ Gd標誌
有一個這個特殊的文件,每當我嘗試從VS2010與「不發送」按鈕的「Microsoft(R)C/C++優化編譯器」錯誤對話框進行編譯時,崩潰編譯器。我研究了VS2010調用2005編譯器的方式,並注意到VS2005調用它的方式有些不同。於是我開始在每次嘗試之後嘗試編譯時逐一刪除這些差異,並且一旦我刪除/Gd
標誌,文件就成功編譯。
查看編譯器文檔,該標誌控制調用約定並將其設置爲__cdecl,這是默認值。唯一的區別是在VS2005中它被省略了,但VS2010決定將它添加到命令行中,導致崩潰。
有沒有人遇到過這個問題,或者知道解決這個問題的方法?我似乎無法找到一種方法使VS2010從命令行下降/Gd
,即使它是默認值。只有我能找到的是如何添加參數,而不是刪除。
謝謝。
值得注意的是,鑑於/ Gd至少回到MSVC6。是否有衝突的調用約定標誌? – MSalters 2010-06-01 12:37:29
事情是在這個文件中必須有非常特殊的代碼,當它給出隱式/ Gd標誌時會導致它崩潰。如果我想找到它,我必須開始評論代碼段。但我不確定它會幫助,即使我設法修復它在這個特定的文件,因爲我有更多。這就是爲什麼我試圖尋找一種解決方法,使其不首先使用/ Gd標誌。 – 2010-06-01 12:52:30