为什么Eclipse在我的源代码中标记伪错误?

时间:2012-11-22 10:32:35

标签: c++ eclipse editor eclipse-cdt

我已经在本地分叉(通过hg clone)一个C / C ++(Eclipse CDT)项目并将其导入我的Eclipse工作区。我的分叉项目的编辑器窗口现在看起来像这样:

enter image description here

显然,这些不是真正的错误,因为代码构建正确。此外,这些错误没有在原来的项目中标记出来。

为什么Eclipse认为此源存在错误?

编辑:将鼠标悬停在“错误”上时的Eclipse错误消息是,例如Type int64_t could not be resolvedsymbol 'cout' could not be resolved

编辑:我注意到Eclipse通常会在项目中显示一个名为includes的“文件夹”。这个项目缺少。我怎样才能找回来?

enter image description here

5 个答案:

答案 0 :(得分:3)

Eclipse必须知道查找包含文件的路径。这可以使用常规eclipse设置或逐项目设置。

出于某种原因,似乎没有为当前项目设置默认路径。

你能做什么: 打开项目设置并转到C / C ++ General - >路径和符号(至少在我的eclipse版本中调用它)并修复包含目录。

也许只需加载该特定项目的默认配置即可。也许你必须自己设置包含的pathes。在Unix / OS X上,这通常应该是usr/include。在Windows上我不知道,但这应该很容易找到。

之后可能需要重建你的eclipse索引(右键单击你的项目,然后索引 - >重建)。

如果这没有帮助,请分享项目的“路径和符号”对话框的屏幕截图。

另请参阅此主题的eclipse documentation

答案 1 :(得分:2)

我必须包括

  • CDT Cross GCC Built-in Compiler Settings
  • CDT GCC Built in Compiler Settings [ Shared ]

在项目的属性中 - > C / C ++一般 - >预处理器包括路径,宏等 - >提供商

答案 2 :(得分:0)

在Eclipse中将此定义添加到项目属性 - > C / C ++常规 - >路径和符号

__STDC_FORMAT_MACROS

重建你的日食指数。它会起作用。

答案 3 :(得分:0)

这适用于Mac OS X Yosemite 10.10.5,Eclipse版本Mars.1发布(4.5.1):

由于Eclipse通常通过工具链发现包含,检查您是否设置了实际工具链(当我在导入项目后遇到此问题时,工具链设置为&#34 ;没有工具链。"):

项目 - >属性 - > C / C ++ Build - >工具链编辑器 - >当前的工具链

如果下拉列表中没有工具链,请尝试取消选中"仅显示兼容的工具链"并选择了一个工具链(我选择了Cross GCC)。当我保存更改并重新打开项目属性以再次查看此字段时,"仅显示兼容的工具链"自动重新检查。

然后重新编制项目索引:

项目 - > C / C ++索引 - >重建

这解决了我的问题("伪错误"消失了,包含"文件夹"出现在我的项目文件系统视图中)。

答案 4 :(得分:-1)

您有#include代码中的正确文件吗?对于std :: cout,它将是:

#include <iostream>

int64_t

#include stdint.h