c++ - 为最简单的项目生成的 Eclipse CDT 构建未正确设置包含路径

标签 c++ eclipse

eclipse :开普勒; CDT:8.3.0

我刚开始将 Eclipse CDT 用于 C++ 项目。我只是使用 UI 自动将一个新的空 C++ 类和关联的头文件添加到项目中。然后我按下构建按钮。构建失败。由于未设置包含路径的简单问题,Eclipse CDT 生成的构建脚本失败:

Building file: ../Foo.cpp
Invoking: Cross G++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Foo.d" -MT"Foo.d" -o "Foo.o" "../Foo.cpp"
../Foo.cpp:8:17: fatal error: Foo.h: No such file or directory
compilation terminated.
make: *** [Foo.o] Error 1

它在子目录 Debug/ 中构建(这是默认的构建配置 CDT 设置)。如果我进入 Debug/ 目录并将“-I../”添加到上面的 g++ 命令,它就可以工作。 Eclipse CDT 创建的构建脚本无法找到 CDT 为我初始化的源文件。为什么会失败?看起来真的很傻。我该如何解决?

最佳答案

可能是原因:

  1. 确保您使用的是 #include "Foo.h"而不是 #include <Foo.h> , 引号与括号。
  2. 尝试删除 .h#include "Foo" .
  3. 确保您的 .h文件在 src 中文件夹而不是它之外。既然你说你必须添加 -I ../Debug这很可能是你的问题。 Foo.h文件位于项目其余部分 .h 所在的文件夹之外文件是。
  4. 检查 Eclipse 是否自动创建 Makefile 而不是期望您生成它。这很可能不是你的情况。

很可能是漏掉了一些简单的东西。我经常在 Eclipse 中遇到这些小问题。

编辑

根据您的评论,#1 是您问题的解决方案。如果 Eclipse 自动生成 #include <Foo.h>而不是 #include "Foo.h"当它同时创建 .h 时和 .cpp对于一个类,这是 Eclipse 的一个错误。

关于c++ - 为最简单的项目生成的 Eclipse CDT 构建未正确设置包含路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36273197/

相关文章:

c++ - utf8 字符计数不起作用

java - Java 中的文件对象无法存储字符 '–' 。

eclipse - 好的 Symfony 编辑器是 Netbeans 还是 Eclipse?

android - Google map 在 Android 中不显示?

java - 具有集成安全性的 Hibernate 工具和 SQL Server

java - 在 jface/swt-eclipse 插件开发中单击树查看器中的标签时,如何跳转到编辑器中的特定行

c++ - 不同构造函数的命令行参数

c++ - 为什么这段代码无法编译?

c++ - 在循环外使用for循环变量是错误的吗?

c++ - 列出 Win32 设备命名空间的内容