【发布时间】:2015-10-20 15:40:29
【问题描述】:
我在使用 makefile 运行我的 c 程序时遇到错误。 当我直接在终端上运行以下命令时,程序运行正常
$ ./a.out test1.c test2.c
(a.out是编译程序生成的可执行文件,test1.c和test2.c是命令行参数)
但是当我在makefile中写下以下内容时:
all : compile run
compile :
gcc ConsonantVowelCount15.c
run :
./a.out $(INPUT)
并在终端上运行以下命令
$ make INPUT=test1.c\ test2.c
它给出了输出,然后是以下错误
makefile:6: 目标“运行”的配方失败
make: *** [run] 错误 45
【问题讨论】:
-
使编译依赖于运行并通过写
run : compile而不是run :重试 -
将
compile重命名为a.out并使用run: a.out生成一个实际上意味着有用的生成文件。使用all: run。如果您仍然希望能够输入make compile,也可以添加compile: a.out。话虽如此,这一切可能与问题无关,因为您实际上并没有告诉我们问题是什么。实际错误高于您粘贴的错误的 sn-p。