Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;名称空间;“隐藏”;出现在Eclipse解析器中 最近我正在做一个项目,使用C++作为编程语言,Eclipse CDT作为编程IDE。项目中使用了“Chrono”库_C++_Eclipse_Namespaces_Ide_Eclipse Cdt - Fatal编程技术网

C++;名称空间;“隐藏”;出现在Eclipse解析器中 最近我正在做一个项目,使用C++作为编程语言,Eclipse CDT作为编程IDE。项目中使用了“Chrono”库

C++;名称空间;“隐藏”;出现在Eclipse解析器中 最近我正在做一个项目,使用C++作为编程语言,Eclipse CDT作为编程IDE。项目中使用了“Chrono”库,c++,eclipse,namespaces,ide,eclipse-cdt,C++,Eclipse,Namespaces,Ide,Eclipse Cdt,我试图定义“关于你的设置的假设” 我相信您已经更改了构建设置,使用了-std=c++0x或chrono库所要求的类似内容 也许你是这样做的: 在chrono(头文件)的顶部有一点类似于: #if __cplusplus < 201103L # include <bits/c++0x_warning.h> #else \if\uu cplusplus=201103L。您可以在下面的屏幕截图中看到,大多数chrono处于非活动状态,因为\uCPlusplus是错误的值 此屏幕截

我试图定义“关于你的设置的假设” 我相信您已经更改了构建设置,使用了
-std=c++0x
或chrono库所要求的类似内容

也许你是这样做的:

chrono
(头文件)的顶部有一点类似于:

#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#else
\if\uu cplusplus<201103L
#包括
#否则
<>如果你没有足够的新C++标准,你会得到编译错误。 现在的问题是,用于生成高亮显示和代码补全的CDT索引器不知道您使用的是
\uuuuCPlusplus>=201103L
。您可以在下面的屏幕截图中看到,大多数
chrono
处于非活动状态,因为
\uCPlusplus
是错误的值

此屏幕截图显示了不正确的值和CDT识别的错误:

如果您尝试编写完整的代码,您也会得到错误的结果:

如何修复它 要解决此问题,您需要告诉CDT您的项目使用的GCC设置与默认的GCC设置不同。也就是说,由于标准不同,cplusplus的值尤其错误

  • 在项目属性中,选择
    C/C++常规
    ->
    预处理器包含
    ,然后选择
    提供程序
    选项卡
  • 选择CDT GCC内置编译器设置
  • 取消选中“使用项目间共享的全局提供程序”
  • 按OK
  • 下面是一个屏幕截图:

    执行此操作后,您应该会看到
    chrono
    的非活动部分在编辑器中变得正确:

    但是您的源文件可能仍然错误。然后,您应该重建要更新的索引,右键单击项目,选择
    索引
    ->
    重建

    最后,您的代码不应正确显示:

    完整的代码也应该可以使用

    历史
    这是一个CDT的左右手不一致的情况。从历史上看,我认为原因在于性能和折衷索引编译器/用户选项的每一个可能变体,而不是在工作区中拥有一些共享数据,这对于某些项目来说可能是错误的。

    只要代码能够编译,您就不必担心关于C++,很难解析,所以大多数(如果不是全部)的解析都是启发式的。@ Matb可能是真的,不确定,但在这种情况下它是(复杂的)!我相信CDT中的设置问题。请参见下面的我的答案。@byteocean我的答案似乎没有解决您的问题,如果您提供更多详细信息,我想看看我们是否可以解决它。@JonahGraham非常感谢您的帮助,我很抱歉我的回复太晚了!我添加了一些关于我的问题的屏幕截图。也许您知道为什么会发生这种情况?哪一个ch您使用的是rono库吗?也请使用版本。我想看看是否可以复制。另外,您能否确认您使用的是“managed make”,而不是编写自己的make文件?
    #if __cplusplus < 201103L
    # include <bits/c++0x_warning.h>
    #else