在C中创建文件会产生致命错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C中创建文件会产生致命错误相关的知识,希望对你有一定的参考价值。

我想在C中创建一个makefile,但我遇到了一些问题。我有我的主.c,一个.c保存函数实现,一个.h保存函数声明。当我尝试运行makefile时,我收到致命错误。这是我的makefile:

INCL   = prog.h
SRC    = prog.c prog_fun.c
OBJ    = $(SRC:.c=.o)
EXE    = prog


CC = gcc  
CFLAGS  = -c
RM      = rm -rf

all: prog

prog: prog.o prog_fun.o
    gcc -o prog prog.o prog_fun.o 

prog.o: prog.c 
    gcc -c prog.c

prog_fun.o: prog_fun.c prog.h
    gcc -c prog.c

clean:
    $(RM) $(OBJ) $(EXE)

我得到的错误是这样的:

gcc -c prog.c
prog.c:11:19: fatal error: prog.h: No such file or directory
compilation terminated.
Makefile:17: recipe for target 'prog.o' failed
make: *** [prog.o] Error 1

有人可以帮我这个吗?

答案

你想用这个做什么

prog_fun.o: prog_fun.c header.h

应该只是

prog_fun.o: prog_fun.c 

将您的make文件修改为

xyz@xyz-PC:~$ vi makefile 
INCL   = header.h
SRC    = prog.c prog_fun.c
OBJ    = $(SRC:.c=.o)
EXE    = prog


CC = gcc
CFLAGS  = -c
RM      = rm -rf

all: prog
prog: prog.o prog_fun.o
        gcc -o prog prog.o prog_fun.o 
prog.o: prog.c
        gcc -c prog.c header.h
prog_fun.o: prog_fun.c
        gcc -c prog_fun.c header.h

clean:
        $(RM) $(OBJ) $(EXE)

接下来运行它

xxyz@xyz-PC:~$ make
gcc -c prog.c header.h
gcc -c prog_fun.c header.h
gcc -o prog prog.o prog_fun.o 

我希望它现在可以工作并确保缩进是正确的(不是手动空格,它应该是tab键)

以上是关于在C中创建文件会产生致命错误的主要内容,如果未能解决你的问题,请参考以下文章

在片段中创建自定义列表视图时出错。必需的活动,找到的片段

如何在 laravel 5.6 中创建自定义帮助文件?

在 Oracle 中创建表会产生“缺少右括号”错误 [重复]

当我尝试使用文件维度作为行和列在 C 中创建矩阵时,为啥会出现错误?

在片段中创建自定义列表视图时出错所需活动,找到片段

尝试在 C 中创建对所有人具有完全权限的文件