簡體   English   中英

C ++用戶定義文字的Eclipse / MinGW問題

[英]Eclipse/MinGW issue with C++ User-defined Literals

我已經在C ++ 11中使用MinGW作為編譯器並使用Eclipse作為IDE進行了一段時間的編程,並且通常都沒有失敗。 但是,有一件事導致了我一段時間的問題,所以我想在這里給我一個機會。

每次我嘗試定義用戶定義的文字時,Eclipse都會用黃色下划線標出錯誤消息“ Syntax Error ”,並且還會在使用該文字時下划線。 盡管如此,它仍可以正確編譯。

我的解決方案嘗試:

  1. 乍一看,它看起來好像需要重建索引,或者它可能無法識別它是在c ++ 11中編譯的,但是事實並非如此。 我不僅擁有編譯器標志-std=c++11 ,而且還將Eclipse中的內置編譯器設置設置為C ++ 11。 另外,它可以毫無問題地編譯所有其他C ++ 11表達式,這似乎只是文字方面的問題

  2. 我的第二個想法是,MinGW可能沒有實現足夠的G ++版本來處理用戶定義的文字。 但是,運行g++ --version顯示我正在運行版本4.8.1,並且它們是在4.7中添加的。

  3. 我最后的想法是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.

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