Eclipse C++:无法解析符号'std'

LCJ*_*LCJ 28 c++ eclipse eclipse-cdt

我在TestExecute.cpp中收到此错误 -

"符号'标准'无法解决"

#include <iostream>
using namespace std;
Run Code Online (Sandbox Code Playgroud)

我刚刚在Eclipse(在Windows 7中)创建了一个可执行项目,如下所示.看来我正在选择一个不受支持的工具链.是这样吗?我已经安装了Cygwin,它可以在首选项中使用.

编辑:基于@RobertoWilko评论,删除行"using namespace std;"删除了错误.但是没有创建二进制文件."发射失败.未发现二进制".怎么纠正这个?

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

use*_*779 21

尝试这一步:https://www.eclipse.org/forums/index.php/t/636348/

基本上:"转到项目 - >属性 - > C/C++常规 - >预处理器包含路径,宏等 - >提供程序 - > CDT GCC内置编译器设置,取消激活使用项目之间共享的全局提供程序并添加命令行参数-std = c ++ 11.


Fra*_*ank 15

我不知道你是否已经解决了这个问题,但我想发布我的解决方案,因为那些可能会遇到同样的问题.

  1. 首先,确保Project Explorer中有"Includes"文件夹.如果您没有,请转到第二步.如果有,请转到第三步.

  2. 二,Window - > Preferences-> C/C++ - > Build> Environment:创建两个环境变量:

    a)名称:C_INCLUDE_PATH价值:/usr/include

    b)名称:CPLUS_INCLUDE_PATH价值:/usr/include/c++

转到Cygwin/usr/include/,如果找不到文件夹"c ++",请从中复制\cygwin\lib\gcc\i686-pc-cygwin\X.X.X\include 然后重新启动Eclipse.

  1. 三,右键单击项目资源管理器中的项目 - >属性 - > C/C++常规 - >路径和符号 - >包含 - >语言:GNU C++ 如果可以在"包含目录"中找到一些C++文件夹,则单击"应用",然后单击"确定". .改变你的代码,然后保存.

你会发现会有没有符号无法解决的问题.

我记录了我的解决方案,希望有人可以获得好处.


liu*_*ing 6

您可以像这样重写代码:

#include<iostream>
#include<stdio.h>

using namespace std;
Run Code Online (Sandbox Code Playgroud)

  • "为了解决这个问题,他们在头文件中加了一个.h"误导.这是具有.h扩展名的"旧"标题.例如,"新"(如果15岁对您来说意味着新手)stdio.h称为cstdio.无论如何,我不知道这是如何回答这个问题的. (2认同)
  • 添加#include <stdio.h>解决了问题.因为在此标头中声明了std. (2认同)

Mys*_*yst 5

对于MinGW,这对我有用:

  • 右键单击项目,选择 Properties
  • C/C++ General- Paths and Symbols- Includes- GNU C++-Include directories
  • 选择 Add...
  • 选择 Variables...
  • 选择MINGW_HOME并单击OK
  • 点击ApplyOK

现在,您应该在项目浏览器的“包含”中看到几个MinGW路径。
错误可能不会立即消失,您可能需要刷新/构建项目。


如果您使用的是Cygwin,则可能存在一个等效变量。


小智 5

项目中的includes文件夹可能缺少/usr/include/c++。在项目资源管理器中转到您的项目,右键单击 -> 属性 -> C\C++ Build -> 环境 -> 添加 -> value= /usr/include/c++。重启日食。