我下载了 c++ 的 eclipse (cdt-master-8.0.2.zip)。
当我写:
#include <iostream>
它标志着:
Unresolved inclusion: <iostream>
我该如何解决?
我下载了 c++ 的 eclipse (cdt-master-8.0.2.zip)。
当我写:
#include <iostream>
它标志着:
Unresolved inclusion: <iostream>
我该如何解决?
我使用 Eclipse 进行交叉编译,我必须为一些标准 C++ 库添加显式目录。右键单击您的项目并选择属性。您将看到图像中显示的对话框。按照图像并使用 + 图标显式添加 C++ 库的路径。
确保您的文件扩展名为 .cpp 而不是 .c,我刚刚遇到了这个问题
我尝试了所有前面提到的答案,但在我的情况下,我必须手动指定 iostream 文件的包含路径。当我使用 MinGW 时,路径是:
C:\MinGW\lib\gcc\mingw32\4.8.1\include\c++
您可以在 Eclipse 中添加路径:Project > C/C++ General > Paths and Symbols > Includes > Add。我希望这会有所帮助
就我而言,它不是CDT GCC Built-in Compiler Settings。只有在我包含CDT GCC 内置编译器设置 Cygwin之后,解析器才识别出我的#include <iostream>
.
听起来你以前没有使用过这个 IDE。阅读 Eclipse 的“Before You Begin”页面并按照 T 的说明进行操作。这将确保 Eclipse,它只是一个 IDE,实际上链接到一个编译器。
对于那些使用全新安装的 Ubuntu 或其他 Linux 发行版的用户,请确保在尝试编译 Eclipse CDT 项目之前至少拥有“build-essential”包。
在终端输入:
sudo apt-get install build-essential
它应该足以编译和运行您的应用程序。
当然,您也可以执行完整的 g++ 安装,使用:
sudo apt-get install g++
我将 Eclipse 与 Cygwin 一起使用,这对我有用:
转到 Project > Properties > C/C++ General > Preprocessor Includes... > Providers 并选择“CDT GCC Built-in Compiler Settings Cygwin [Shared]”。
我在 Windows 中使用 cygwin 运行 eclipse。
Project > Properties > C/C++ General > Preprocessor Includes... > Providers 并在提供程序列表中选择“CDT GCC Built-in Compiler settings Cygwin”为我解决了问题。
在 Linux 上也设置${COMMAND}
为g++
在下面:
代替:
${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"
和:
g++ -std=c++11 -E -P -v -dD "${INPUTS}"
如果您不这样做,Eclipse 标准输出将显示:
Unable to find full path for "-E"
和显示下的日志${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
andFLAGS
变量,但我尝试将它们添加为构建变量,但它不起作用。
问题的 C 版本:Eclipse CDT 用于 C 标准库标头的“未解决的包含”错误
在 Eclipse 2020-03 (4.15.0)、Ubuntu 19.10 和这个具有现有源代码的最小 Makefile 项目上进行了测试。
在 Windows 上,使用 Eclipse CDT Oxygen,这里描述的解决方案都不适合我。我在另一个问题中描述了对我有用的方法:Eclipse CDT:未解决的 stl header 包含。
我在 Eclipse 2019-12 中遇到了这个问题,其中包含的内容以前已解决,但后来没有解决。这是使用 Meson 构建的 C/C++ 项目。我不确定到底发生了什么,但关闭项目并重新打开它为我解决了这个问题。