我正在使用名为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的:〜/开发/测试$
我能做些什么来解决这个问题?
答案 0 :(得分:18)
使用引号:
#include "colors.h"
使用引号将首先查看同一目录,然后查看指定的包含路径。 使用尖括号只会查看包含路径。
答案 1 :(得分:2)
尖括号用于在隐式标头路径中查找标头。显式路径中的标头(包括当前目录)需要引用。
答案 2 :(得分:1)
#include <colors.h>
告诉GCC查找标准C标头的位置,可能不是您的标头所在的位置。 #include "colors.h
告诉GCC在当前工作目录中查找标题
答案 3 :(得分:0)
#include "colors.h"