Eclipse for C++中的"字符串无法解析"错误(Eclipse无法解析标准库)

cod*_*441 50 c++ eclipse

我在eclipse下面的代码为C++和它的强调stringcout,并说无法解析.

#include <string>
#include <iostream>

using namespace std;


int main()
{
    string s;
    s = "hello world";
    cout << s;
    return 0;

}
Run Code Online (Sandbox Code Playgroud)

谁知道为什么?

编辑:截图

编辑:我找到了一个解决方案,谢谢大家(见答案).

在此输入图像描述

Van*_*uan 73

我也遇到过这个问题.

我发现这是因为Eclipse无法找到所有包含头文件.

轻松修复:

这个简单快速的解决方案可能会解决您的问题(例如,当Eclipse项目移动到磁盘上的其他位置,然后再次导入Eclipse时),如果没有,请跳转到下一部分(详细修复).

  1. 转到项目>属性> C/C++ Build > 工具链编辑器
  2. 当前工具链更改为任何其他值,单击" 应用"
  3. Current toolchain设置为原始值,单击Apply
  4. 编译您的项目

详细修复:

在继续检查您的工具链是否正确安装之前.

  1. 切换到新工作区.
  2. 删除.cproject文件和".settings"文件夹
  3. 将项目导入为Makefile项目(或者如果您更喜欢CDT Build系统,则创建一个新项目)
  4. 转到project-> properties-> C/C++ Build-> Toolchain编辑器.选择你的工具链.
  5. 按项目 - >索引 - >重建
  6. 如果问题仍未解决,请将系统语言更改为英语并再次尝试上述步骤.

过时的答案:

这个答案已经过时了.如果上述任何内容都没有帮助,请继续

如果前面的步骤没有帮助,我们需要手动设置包含目录(不推荐)

  1. 使用"右键单击项目>索引>搜索未解析的包含"搜索所有未解析的标题.
  2. 使用"find/usr/include/-name vector -print"搜索他们的位置
  3. 将包含文件夹路径放到"右键单击项目>属性> C++通用/路径和符号/ C++"
  4. 运行"右键单击项目>索引>重建"
  5. 如果还有任何未解析的符号,请从步骤1开始.

  • Eclipse无法解析标准库:非常感谢 - 正是我在寻找的东西.似乎应该有一种更自动化的方式来做到这一点.在Eclipse停止抱怨之前,我在/usr/include/c++/4.7.0/i686-pc-linux-gnu/bits/c++config.h中一直向下结束.家里的一些关键词在谷歌上很好. (5认同)
  • 然而,我花了一些时间才找到索引菜单(右键单击项目,下拉到索引). (5认同)

cod*_*441 6

问题是我需要安装minGW和MSY S并添加到PATH.

问题现在已经解决了.


Vir*_*ual 5

我刚刚回答了 Vanuan 给出的相关问题(Eclipse CDT:未解析包含 stl 标头),这是我的答案:

您也可以尝试使用“CDT GCC 内置编译器设置”。转到项目属性 > C/C++ General > Preprocessor Include Path > Providers 选项卡,然后检查“CDT GCC Built-in Compiler Settings”(如果不是)。

其他解决方案(使用包含路径等)都不适用于“字符串”类型,但是这个解决方案修复了它。