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中再次导入时),如果不是,则跳转到下一部分( 详细修复 )。
- 转到项目>属性> C / C ++构build > 工具链编辑器
- 将当前工具链更改为任何其他值,单击应用
- 将当前工具链设置为原始值,单击应用
- 编译你的项目
详细的修复:
在继续之前检查您的工具链是否安装正确。
- 切换到新的工作区。
- 删除.cproject文件和“.settings”文件夹
- 将项目导入为Makefile项目(或者如果您更喜欢CDT Build系统,则只需创build一个新项目)
- 转到project-> properties-> C / C ++ Build-> Toolchain编辑器。 select你的工具链。
- 按项目 – >索引 – >重build
- 如果问题没有解决,请将系统语言更改为英文,然后再次尝试上述步骤。
过时的回答:
这个答案已经过时了。 继续如果没有上述的帮助
如果以前的步骤没有帮助,我们需要手动设置包含目录(不build议,但是)
- 使用“右键单击项目>索引>search未解决的包含”search所有未parsing的标头。
- 使用“find / usr / include / -name vector -print”search其位置
- 将包含文件夹path“右键单击项目>属性> C ++常规/path和符号/ C ++”
- 运行“右键单击项目>索引>重build”
- 如果还有任何未解决的符号,请从步骤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。