0

我们需要对下载的大包做一些增强。假设主文件夹就像

.../项目

并且有

.../项目/Makefile

这将用于编译项目。

我添加了一个新文件夹

.../proj/feature1/file1.h .../proj/feature1/file1.c

file1.c 是包含 file1.h

所以

#include "feature1/file1.h"

然后在执行 Makefile 时,它​​停止在类似的命令处

gcc -c feature1/file1.c -I。...

错误消息读取为未能包含 file1.h

可以在另一个实例中编译相同的代码而不会触发错误。这两个实例都是 ubuntu 10.04。我不会说它们是相同的,但应该非常相似。知道出了什么问题吗?谢谢。

詹姆士

4

3 回答 3

2

这取决于gcc 的“-I”参数。如果文件夹“feature1”在其中而不是其父文件夹 - 它将失败。如果它的父母在其中 - 它会成功。

在您的情况下(“-I.”),它是搜索路径中的“feature1”,而不是其父级。

此外,正如其他人所提到的,由于两个文件都在同一个目录中,因此您不需要“ include”指令中的目录名称。

于 2013-03-02T08:27:46.207 回答
1
file1.c is to include file1.h

在这种情况下,两个文件都在同一个文件夹中,所以我认为它必须是:

#include "file1.h"
于 2013-03-02T08:29:33.673 回答
0

如果 .h 和 .c 文件位于同一目录中,我希望包含为:

#include "file1.h"
于 2013-03-02T08:29:34.630 回答