Eclipse的C ++中的“string无法parsing”错误(Eclipse无法parsing标准库)

我在eclipse中有以下的代码c ++,它是下划线和cout并说不能解决。

 #include <string> #include <iostream> using namespace std; int main() { string s; s = "hello world"; cout << s; return 0; } 

任何人知道为什么

编辑:截图

编辑:我已经find了一个解决scheme,谢谢大家(见答案)。

在这里输入图像描述

我也有这个问题。

我发现这是因为Eclipse找不到所有包含头文件。

轻松修复:

这个简单而快速的解决scheme可能会解决您的问题(例如,当Eclipse项目移动到磁盘上的不同位置,然后在Eclipse中再次导入时),如果不是,则跳转到下一部分( 详细修复 )。

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

详细的修复:

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

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

过时的回答:

这个答案已经过时了。 继续如果没有上述的帮助

如果以前的步骤没有帮助,我们需要手动设置包含目录(不build议,但是)

  1. 使用“右键单击项目>索引>search未解决的包含”search所有未parsing的标头。
  2. 使用“find / usr / include / -name vector -print”search其位置
  3. 将包含文件夹path“右键单击项目>属性> C ++常规/path和符号/ C ++”
  4. 运行“右键单击项目>索引>重build”
  5. 如果还有任何未解决的符号,请从步骤1开始。

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

问题现在已经解决了。

您需要确保您的环境在Eclipse中正确设置,以便知道您的包含path。 否则,它强调他们没有find。

我刚刚回答了Vanuan给出的相关问题( Eclipse CDT:未parsing的stl头文件 ),这是我的答案:

您也可以尝试使用“CDT GCC内置编译器设置”。 转到项目属性> C / C ++常规>预处理器包含path>提供程序选项卡,然后选中“CDT GCC内置编译器设置”,如果不是。

没有其他解决scheme(玩包括path等)为我工作的types“string”,但这一个固定它。

我有同样的问题。 将Properties / C / C ++ Build / ToolChainEditor中的CurrentBuilder更改为另一个值并应用它。 然后再将其改为原始值。 有用。

我有同样的问题。 添加包含path除了std :: string之外都可以工作。

我注意到在mingw-Toolchain中有很多系统头文件* .tcc

我在首选项> C / C ++ /文件types中添加了filetype * .tcc作为“C ++头文件”。 现在std :: string可以从内部索引和代码分析器中parsing出来。 也许这是默认添加到Eclipse CDTfunction。

我希望这有助于某人…

PS:我使用Eclipse Mars,mingw gcc 4.8.1,拥有Makefile,没有Eclipse Makefilebuilder。