我有一个问题,即使直接运行命令成功,make也会失败:
$ make
cc -o ./bin/cams cams.c
cc: error: no such file or directory: 'cams.c'
cc: error: no input files
*** Error code 1
Stop.
make: stopped in /usr/psrc/cams
即使
cc -o ./bin/cams cams.c
引起
这是我的Makefile
SHELL = /usr/local/bin/bash
cams:
cc -o ./bin/cams cams.c
clean:
rm ./bin/cams
最佳答案
我们将需要查看您正在使用的Makefile才能进行故障排除。假定您只有一个文件,并且不需要指定任何其他包含位置,则以下Makefile应该可以工作。
CC=cc
SOURCES=cams.c
OBJECTS=$(SOURCES:.c=.o)
EXECUTABLE=bin/cams
all: $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(OBJECTS) -o $@
%.o : %.cpp
$(CC) -c $< -o $@
clean:
rm -fv $(OBJECTS) $(EXECUTABLE)
要包括其他写入的c文件,只需将文件名附加到源代码的末尾。确保使用制表符代替空格。请查看此Linux手册页以获取更多信息make(1p)。
关于c - Make无法找到源文件,如果直接运行cc则可以工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56300286/