在使用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
解释为目录路径,无法根据提供的路径target-pisa/pisa.h
打开实际的头文件“ pisa.h”在文件“ machine.h”中。相反,git bash将target-pisa/pisa.h
解释为C代码(如果我没记错的话);参见下图。
一些其他有用的信息:
在machine.h
中,只有一行代码,如下所示:
target-pisa/pisa.h
我检查了工作目录中几乎所有.c
文件都具有#include "machine.h"
。
如何解决此问题?请帮助,我已经被困了很长时间了。顺便说一句,我的朋友还使用git bash进行了此实验,但他没有发生此问题。
我尝试重新安装git bash以便查看问题是否可以解决,但是没有解决。
总而言之,我想通过在git bash中使用make
命令来成功构建程序。
答案 0 :(得分:1)
machine.h
需要具有#include
指令,以告知编译器提取嵌套标头。
#include "target-pisa/pisa.h"
仅靠自己写target-pisa/pisa.h
并不是有效的C代码。