Eclipse Juno - 不解析C ++ 11,当前的SO解决方案不起作用

时间:2016-08-28 13:54:42

标签: eclipse c++11

到目前为止,我尝试过这些技巧:(来自其他SO问题)

  1. C / C ++ Build - >设置 - >工具设置 - > GCC C ++编译器 - >其他 - >其他旗帜。 put -std = c ++ 0x(或者对于较新的编译器版本-std = c ++ 11)

  2. C / C ++ General - >路径和符号 - >符号 - > GNU C ++。点击"添加..."并粘贴 GXX_EXPERIMENTAL_CXX0X (确保将两个下划线附加并添加前缀)到" Name"并离开"价值"空白。

  3. answer to this question

  4. 其他值得注意的事情:

    1. 当我打开像<memory>这样的C ++ 11标题时,可以看到__cplusplus宏遮住了它下方的文本,包括<backward/auto_ptr.h>而不是所有C ++ 11的东西;将鼠标悬停在宏上会显示__cplusplus扩展为199711L

    2. 解析器对此行没有任何问题:

    3. int* p = nullptr;

      virtual void InheritedFunction() override;

      1. 似乎解析器正确理解了C ++ 11的功能(lambdas工作),但是std::shared_ptr之类的东西被不包含适当的头所阻止,因为__cplusplus宏扩展错误

      2. Eclipse无法解析我的外部库#includes。所有路径都是正确的,它们与重新安装Eclipse之前的路径相同

      3. \ /

      4. &#34;索引器不会使用这些设置&#34; - 但为什么?我也没有像&#34; MBS&#34;在提供者选项卡上

1 个答案:

答案 0 :(得分:0)

通过更改设置中的许多内容来解决,我不记得确定原因是什么。

可能这个: 窗口 - &gt;偏好 - &gt; C / C ++ - &gt;索引器 - &gt;构建索引器的配置

我从“使用项目索引器设置中指定的构建配置”更改为“使用活动构建配置”

某种程度上“索引器没有使用设置”已经消失,我现在可以自由编辑__cplusplus值了

此外,我现在找到了未解析的外部库