我有一个我正在导入eclipse的C项目。它是预先编写的,但不是C程序,因此我将其作为C Makefile程序导入。实际上由于某种原因,程序是用shell脚本编写的,在相应的目录中调用make,我添加了一个调用shell脚本的Makefile,虽然我可能会将其更改为仅使用make文件。
无论如何,不寻常的是我在我的C代码中使用的所有#define
变量上都有例外。变量在.h文件中定义,该文件包含在C代码的顶部,#include
没有警告。我可以编译代码并毫无例外地运行它。然而,在编辑器中使用#define
值时,我仍然会收到许多错误。定义变量的.h在一个不同的文件夹中,然后是抛出该excception的C代码,但是将带有.h的文件夹添加到C include路径中没有任何好处。任何人都知道如何让编辑器与我的#define
变量一起玩得很好吗?
答案 0 :(得分:3)
您实际上是在键入#DEFINE
吗?它应该是#define
。 C区分大小写。
答案 1 :(得分:0)
.h文件如何包含在.c文件中?
#include <file.h>
或
#include "file.h"
这些在预处理器中有不同的含义。
你得到的错误是什么?是否找不到.h文件,导致其他错误?
答案 2 :(得分:0)
以下是进一步调查此问题的一些选项:
Properties
- &gt; C/C++ General
- &gt; Paths and Symbols
- &gt; Symbols
。您可以检查那里定义的符号,也许某些东西会弄乱那里的预处理器。-save-temps
。这将输出一些中间编译文件。检查.i
或.ii
文件 - 这些文件包含预处理的输出。有关此g ++选项的更多信息,请参见here。此外,如果您能提供有关实际错误/警告的更多信息,那将会很不错。