簡體   English   中英

VS2005 C ++編譯器因/ Gd標志而崩潰

[英]VS2005 C++ compiler crashes with the /Gd flag

我試圖使用2005編譯器在Visual Studio 2010中編譯我們的項目,但偶然發現了這個奇怪的錯誤。

每當我嘗試通過帶有“不發送”按鈕的“ Microsoft(R)C / C ++優化編譯器”錯誤對話框從VS2010進行編譯時,都有一個特定的文件使編譯器崩潰。 我查看了VS2010調用2005編譯器的方式,並注意到VS2005調用它的方式有所不同。 因此,在每次嘗試后嘗試進行編譯時,我開始一個接一個地刪除這些差異,並且一旦刪除了/Gd標志,文件就成功編譯了。

查看編譯器文檔,此標志控制調用約定並將其設置為__cdecl,這是默認設置。 唯一的區別是VS2005中已將其省略,但VS2010決定將其添加到命令行中,從而導致崩潰。

有沒有人遇到過這個問題,或者知道解決這個問題的方法? 我似乎無法找出一種方法,使VS2010從命令行刪除/Gd ,即使它是默認設置。 我唯一能找到的就是如何添加參數,而不是刪除參數。

謝謝。

假設您有充分的理由要使用新的IDE及其編譯器的祖父母(我很好奇!),則可以在項目的“ C / C ++”配置屬性的“高級”分支中更改調用約定。
該列表框僅給我三個值可供選擇,但是當我手動刪除文本時,IDE會在沒有任何/ Gx開關的情況下調用編譯器-至少這是“命令行”分支顯示的內容。

將您的問題歸結為一個repro案例,然后聯系提供此要求的MS支持,這可能是個好主意。 他們可能已經有針對該問題的修補程序,如果沒有,他們可能能夠在相對較短的時間內產生一個修補程序。 由於其軟件中的錯誤而與​​支持人員聯系通常是免費的(並且當編譯器崩潰而不是發出始終是編譯器錯誤的有意義的消息時)。

暫無
暫無

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

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