[英]Eclipse CDT parser support for C++11?
我在Linux上將Eclipse 3.7.2與CDT 8.0.2一起使用。 如何配置CDT以識別c ++ 11語法,特別是override
? 當前,解析器在指示的行上標記虛假錯誤。 由於我在編譯器命令行中包含-std = c ++ 11,因此構建完成沒有錯誤。
class foo
{
public:
foo(){}
virtual ~foo(){}
virtual void func(){}
};
class bar : public foo
{
public:
bar(){}
virtual ~bar(){}
virtual void func() override {} // <--- parser incorrectly flags syntax error
};
int main()
{
bar my_bar;
return 0;
}
我試圖在該方向的Eclipse維基和這里沒有成功。 同樣,我只需要編輯器的解析器就可以識別c ++ 11,實際的構建就可以了。
要修復C ++ 11語法突出顯示,請轉到:
項目屬性-> C / C ++常規->路徑和符號->符號-> GNU C ++
並覆蓋該符號(即添加新符號):
__cplusplus
有價值
201103L
確保在項目設置中啟用了索引器( C / C ++常規->索引器 )
然后重新索引( Project-> C / C ++ Index-> Rebuild )
如果問題仍然存在,請再次重新建立索引。 現在應該可以工作了。
您只能在項目“屬性/預處理器包含/ CDT用戶設置”中為解析器手動定義不包含任何內容的override
宏。
當我安裝eclipse的開發版本時,這個問題為我自己解決了:
蝕月神4.4 CDT 8.4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.