C 为什么可以';编译器找不到头文件吗?

C 为什么可以';编译器找不到头文件吗?,c,header,C,Header,我在linux环境中工作。在我当前的目录中,当我执行ls命令时,这就是我得到的 在repo.c中,我有这行代码 #include <battleship.h> 我得到这个错误 “repo.c:10:24:error battleship.h:没有这样的文件或目录” 有人知道为什么编译器找不到头文件吗?我把它放在与主C文件相同的目录中M猜测是以下命令编译了该项目: gcc -o battleship repo.c battleship.c 理论上,头文件battleship.h

我在linux环境中工作。在我当前的目录中,当我执行ls命令时,这就是我得到的

在repo.c中,我有这行代码

#include <battleship.h>
我得到这个错误

“repo.c:10:24:error battleship.h:没有这样的文件或目录”


有人知道为什么编译器找不到头文件吗?我把它放在与主C文件相同的目录中

M猜测是以下命令编译了该项目:

gcc -o battleship repo.c battleship.c 
理论上,头文件
battleship.h
应包含在
battleship.c
(或
repo.c
)中,如下所示(局部包含用引号代替括号):

这用于包括用户创建的头文件

#include ""
所以试着使用

#include "battleship.h"

尝试使用#include“battleship.h”,因为battleship.h是一个用户定义库。您的用户定义头应该写为#include“battleship.h”和系统定义头是不同的符号,类似于#include.oh,所以只用于系统库?尝试像这样编译gcc-o lbattleship lbattleship.cIsuru,根本不包括repo.c?我强烈建议使用所有警告和调试信息进行编译,因此
gcc-Wall-Wextra-g repo.c battleship.c-o battleship
。稍后,学习如何使用
Makefile
# include<> 
#include ""
#include "battleship.h"