为什么编译器找不到头文件?

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

在此处输入图像描述

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

#include  

但是,当我尝试使用此命令编译和创建可执行文件时(也链接到库文件battleship.c)

 gcc repo.c -lbattleship.c 

我收到这个错误

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

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

 # include<> 

此变体用于包括系统头文件。

 #include "" 

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

所以尝试使用

 #include "battleship.h" 

我猜是以下命令编译项目:

 gcc -o battleship repo.c battleship.c 

从理论上讲,头文件battleship.h应该包含在battleship.c (或repo.c )中,如此(使用引号而不是本地包含的括号):

 #include "battleship.h"