2011-12-10 62 views
2

我們都喜歡C++生成跨越兩個shell屏幕的詳細錯誤。特別是在模板函數定義中忘記單連字符後。而你所需要的僅僅是錯誤信息的第一行,也許是最後一行。C++錯誤較少詳細

如何使C++模板錯誤更簡潔?

+2

找到不要使用gcc使用VS而不是過濾的例子:d。 – AlexTheo

+2

¤參見FAQ條目[「任何人類希望如何理解這些過度冗長的基於模板的錯誤消息?」](http://www.parashift.com/c++-faq-lite/templates.html#faq-35.17 )。簡而言之,在Usenet的日子裏,經常給出的答案是使用StlFilt(鏈接到FAQ)。注意:此處給出的鏈接目前僅限於主要的FAQ網站。常見問題解答項目URL的更改,常見問題解答反映在不受限制的站點。這並不意味着直接鏈接。無論如何,在提問之前閱讀常見問題通常是一個好主意。乾杯&hth。, –

回答

1

我不相信你可以輕鬆做到這一點。另一方面,可能的是使用彩色輸出。

在Debian上(和相關的),你可以很容易地安裝colorgcc包,它確實如此。

它有很大幫助。這是不一樣的,但它確實有幫助

1

LLVM clang更好的前端可能是唯一的選擇。

2

如果你正在使用gcc(或g ++),你可以使用以下選項: -Wfatal-errors -w

的-Wfatal,錯誤將出現第一個錯誤編譯站,-w將消除警告。在大多數情況下,我不建議這樣做,但現在可能對您的情況有所幫助。

+1

這種方法的問題在於GCC輸出像重載決策候選一樣的筆記,就像它們是錯誤一樣。打開'-Wfatal-errors'就會得到「不明確的調用」,並且想知道哪些是模糊的重載,因爲每次重載列表都是GCC的「另一個錯誤」。所以,而不是二十個錯誤,有時你會得到一半的錯誤。 –