[英]Eclipse/MinGW issue with C++ User-defined Literals
我已經在C ++ 11中使用MinGW作為編譯器並使用Eclipse作為IDE進行了一段時間的編程,並且通常都沒有失敗。 但是,有一件事導致了我一段時間的問題,所以我想在這里給我一個機會。
每次我嘗試定義用戶定義的文字時,Eclipse都會用黃色下划線標出錯誤消息“ Syntax Error
”,並且還會在使用該文字時下划線。 盡管如此,它仍可以正確編譯。
我的解決方案嘗試:
乍一看,它看起來好像需要重建索引,或者它可能無法識別它是在c ++ 11中編譯的,但是事實並非如此。 我不僅擁有編譯器標志-std=c++11
,而且還將Eclipse中的內置編譯器設置設置為C ++ 11。 另外,它可以毫無問題地編譯所有其他C ++ 11表達式,這似乎只是文字方面的問題
我的第二個想法是,MinGW可能沒有實現足夠的G ++版本來處理用戶定義的文字。 但是,運行g++ --version
顯示我正在運行版本4.8.1,並且它們是在4.7中添加的。
我最后的想法是CDT eclipse插件可能已經過時或什么了,但是似乎沒有可用的新版本
所以基本上,我很困惑。
可以編譯但在編輯器中帶有下划線的示例如下:
constexpr float operator"" _deg ( float rad ){
return rad * 180 / 3.1415926;
}
這不是一個大問題,因為它可以編譯,但是我討厭看到錯誤/警告。
供參考,我的規格是:
Eclipse Version : Kepler Service Release 2
CDT Version : 8.5.0.201409172108
MinGW G++ Version: 4.8.1
從我還沒有看到任何其他類似我的問題的事實來看,我認為這是我的問題-所以我希望這里的人對如何解決這個問題提出建議。
您需要啟用CDT才能識別C ++ 11功能 。 如果這樣做,則可能是CDT掃描儀中的錯誤,應嘗試報告錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.