eclipse编辑器不会识别C #define指令

时间:2012-06-06 16:46:25

标签: c eclipse

我有一个我正在导入eclipse的C项目。它是预先编写的,但不是C程序,因此我将其作为C Makefile程序导入。实际上由于某种原因,程序是用shell脚本编写的,在相应的目录中调用make,我添加了一个调用shell脚本的Makefile,虽然我可能会将其更改为仅使用make文件。

无论如何,不​​寻常的是我在我的C代码中使用的所有#define变量上都有例外。变量在.h文件中定义,该文件包含在C代码的顶部,#include没有警告。我可以编译代码并毫无例外地运行它。然而,在编辑器中使用#define值时,我仍然会收到许多错误。定义变量的.h在一个不同的文件夹中,然后是抛出该excception的C代码,但是将带有.h的文件夹添加到C include路径中没有任何好处。任何人都知道如何让编辑器与我的#define变量一起玩得很好吗?

3 个答案:

答案 0 :(得分:3)

您实际上是在键入#DEFINE吗?它应该是#define。 C区分大小写。

答案 1 :(得分:0)

.h文件如何包含在.c文件中?

#include <file.h>

#include "file.h"

这些在预处理器中有不同的含义。

你得到的错误是什么?是否找不到.h文件,导致其他错误?

答案 2 :(得分:0)

以下是进一步调查此问题的一些选项:

  1. 在Eclipse中右键单击您的项目,转到Properties - &gt; C/C++ General - &gt; Paths and Symbols - &gt; Symbols。您可以检查那里定义的符号,也许某些东西会弄乱那里的预处理器。
  2. 在g ++命令行中添加以下选项:-save-temps。这将输出一些中间编译文件。检查.i.ii文件 - 这些文件包含预处理的输出。有关此g ++选项的更多信息,请参见here
  3. 此外,如果您能提供有关实际错误/警告的更多信息,那将会很不错。