簡體   English   中英

Eclipse CDT解析器是否支持C ++ 11?

[英]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.

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