我下载了 C + + 的 Eclipse(cdt-master-8.0.2.zip)。
当我写道:
#include <iostream>
它标志着:
Unresolved inclusion: <iostream>
我该怎么补救?
安装 gcc。
如果你在 Linux 上,使用软件包管理器。
如果使用 Windows,请使用 MinGW。
我使用 Eclipse 进行交叉编译,并且必须为一些标准 C + + 库添加显式目录。右键单击项目并选择“属性”。您将看到图像中显示的对话框。跟随图像并使用 + 图标显式地添加到 C + + 库的路径。
请确保您的文件有.cpp 扩展名,而不是.c,我只是有这个问题
听起来你以前没用过这个 IDE。阅读 Eclipse 的“ Before You Begin”页面,按照说明到 T。这将确保 Eclipse (只是一个 IDE)实际上链接到编译器。
Http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.cdt.doc.user/concepts/cdt_c_before_you_begin.htm
在我的情况下,它不是 内置编译器设置。只有在我包含 内置编译器设置 Cygwin之后,解析器才能识别我的 #include <iostream>。
我在 Cygwin 中使用 Eclipse,这对我很有用:
转到 Project > Properties > C/C + + General > PreProcessing include... > Provider 并选择“ CDT GCC 内置编译器设置 Cygwin [ Shared ]”。
对于那些使用新安装的 Ubuntu 或其他 Linux 发行版的用户, 在尝试编译 EclipseCDT 项目之前,请确保您至少拥有“构建基本”包。
在终端机,输入:
sudo apt-get install build-essential
它应该足以编译和运行您的应用程序。
当然,您也可以使用以下命令执行完整的 g + + 安装:
sudo apt-get install g++
我尝试了前面提到的所有答案,但在我的情况下,我必须手动指定 iostream 文件的 include 路径。当我使用 MinGW 时,路径是:
C: MinGW lib gcc mingw324.8.1 include c + +
您可以将 Eclipse 中的路径添加到: 项目 > C/C + + 常规 > 路径和符号 > 包含 > 添加。我希望这有所帮助
我正在运行与 Cygwin 在 Windows 日蚀。
项目 > 属性 > C/C + + 常规 > 预处理器包括... > 提供程序 并在提供商列表中选择“ CDT GCC 内置编译器设置 Cygwin”为我解决了问题。
在 Windows 上,使用 EclipseCDT 氧气,这里描述的所有解决方案都不适合我。我在另一个问题中描述了对我有效的方法: Eclipse CDT: 未解决的 stl 头包含问题。
还可以在 Linux 上将 ${COMMAND}设置为 g++
${COMMAND}
g++
下面:
更换:
${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"
与:
g++ -std=c++11 -E -P -v -dD "${INPUTS}"
如果不这样做,Eclipse stdout 将显示:
Unable to find full path for "-E"
以及 ${HOME}/eclipse-workspace/.metadata/.log下的日志显示:
${HOME}/eclipse-workspace/.metadata/.log
!ENTRY org.eclipse.cdt.core 4 0 2020-04-23 20:17:07.288 !MESSAGE Error: Cannot run program "-E": Unknown reason
因为 ${COMMAND} ${FLAGS}是空的,所以 Eclipse 尝试执行接下来的 -E。
${COMMAND} ${FLAGS}
-E
我想知道我们是否可以正确地定义 COMMAND和 FLAGS变量的设置,但我试图添加他们作为构建变量,它没有工作。
COMMAND
FLAGS
C 版本的问题: Eclipse CDT 中 C 标准库头的“未解决的包含”错误
在 Eclipse 2020-03(4.15.0)、 Ubuntu 19.10和这个 具有现有源的最小 Makefile 项目上进行了测试。
我在 Eclipse 2019-12中遇到过这个问题,之前解决了包含的问题,但后来没有解决。这是一个 Meson 构建的 C/C + + 项目。我不确定到底发生了什么,但是结束这个项目并重新开放它为我解决了问题。