gcc无法找到包含的标题

时间:2010-01-26 14:16:18

标签: c gcc header

我正在使用名为colors.h的标头来组织我的源代码。标题是这样的:

#define DEFAULT 0x07
#define BLACK 0
#define GRAY 7
#define BLUE 9
#define GREEN 10
#define CYAN 11
#define RED 12
#define MAGENTA 13
#define YELLOW 14

我将标题放在主要源代码的同一目录中,名为kernel.c,并将其包括在内:

#include <colors.h>

但是当我尝试编译时,我得到了这个:

  

ubuntu @ eeepc:〜/ Development / Test $ gcc -o kernel.o -c kernel.c -Wall -Wextra -nostdlib -nostartfiles -nodefaultlibs
  kernel.c:1:20:error:colors.h:没有这样的文件或目录
  Ubuntu的@ EeePC的:〜/开发/测试$

我能做些什么来解决这个问题?

4 个答案:

答案 0 :(得分:18)

使用引号:

#include "colors.h"

使用引号将首先查看同一目录,然后查看指定的包含路径。 使用尖括号只会查看包含路径。

答案 1 :(得分:2)

尖括号用于在隐式标头路径中查找标头。显式路径中的标头(包括当前目录)需要引用。

答案 2 :(得分:1)

#include <colors.h>告诉GCC查找标准C标头的位置,可能不是您的标头所在的位置。 #include "colors.h告诉GCC在当前工作目录中查找标题

答案 3 :(得分:0)

#include "colors.h"