gcc无法找到包含的标头

我正在使用名为colors.h的标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  

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

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的:〜/开发/测试$

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

使用引号:

 #include "colors.h" 

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

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

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

 #include "colors.h"