Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GCC无法识别文件中的目录路径_C_Bash_Makefile - Fatal编程技术网

GCC无法识别文件中的目录路径

GCC无法识别文件中的目录路径,c,bash,makefile,C,Bash,Makefile,我在使用GCC时遇到的问题是,我无法使用命令make来构建我的程序,因为有些文件包含其实际位置的路径 假设我有一个名为“machine.h”的文件,其内容是target pisa/pisa.h。同时,在同一个工作目录中,我有一个名为“target pisa”的文件夹,其中有一个名为“pisa.h”的文件;头文件“machine.h”的实际代码实际上位于文件“pisa.h”内,该文件位于与“machine.h”位于同一工作目录中的名为“target pisa”的文件夹内 假设由于某种原因,我不能简

我在使用GCC时遇到的问题是,我无法使用命令
make
来构建我的程序,因为有些文件包含其实际位置的路径

假设我有一个名为“machine.h”的文件,其内容是
target pisa/pisa.h
。同时,在同一个工作目录中,我有一个名为“target pisa”的文件夹,其中有一个名为“pisa.h”的文件;头文件“machine.h”的实际代码实际上位于文件“pisa.h”内,该文件位于与“machine.h”位于同一工作目录中的名为“target pisa”的文件夹内

假设由于某种原因,我不能简单地将代码从“pisa.h”复制粘贴到“machine.h”;也就是说,我必须坚持教授提供的内容。
make
命令在我的笔记本电脑中不起作用,因为它无法将
target pisa/pisa.h
解释为目录路径,并根据文件“machine.h”中提供的路径打开实际的头文件“pisa.h”。相反,gitbash将
目标pisa/pisa.h
解释为C代码(如果我没有弄错的话);请参见下图

一些可能有用的附加信息:


machine.h
中,只有一行代码,如下所示:
target pisa/pisa.h


我已经检查过工作目录中几乎所有的
.c
文件都有
#包括“machine.h”

我怎样才能解决这个问题?请帮帮我,我已经被困在这里面很长时间了。顺便说一下,我的朋友也使用git bash来做这个实验室,这个问题没有发生在他身上

我试图重新安装GitBash,以查看问题是否可以解决,但没有


总之,我想通过在git bash中使用
make
命令成功地构建程序。

machine.h
需要一个
#include
指令来告诉编译器拉入嵌套头

#include "target-pisa/pisa.h"

仅编写
目标pisa/pisa.h
本身不是有效的C代码。

阅读
如何包含
工作您可以在
机器.h
中发送相关代码吗?正如jhnc所说,我暗自怀疑您没有使用#include.In
machine.h
,只有一行代码
target pisa/pisa.h
。在同一个工作目录中,我有
main.c
,它有
#include“machine.h”
,这有帮助吗?问题是我的朋友也使用相同的文件集,没有任何修改,这个问题确实发生在他身上。我检查了工作目录中几乎所有
.c
文件都有
#include“machine.h”
。在文件
machine.def
中,只有一行代码表示
target pisa/pisa.de
,是否应将其更改为
#包括“target pisa/pisa.def”
;我不确定这是否是处理.def文件的正确方法。顺便说一下,这个.def在文件
Makefile
中使用。