查找源文件失败,如果直接运行cc则有效
我遇到一个问题,即即使直接成功运行命令,make也会失败:查找源文件失败,如果直接运行cc则有效,c,makefile,freebsd,C,Makefile,Freebsd,我遇到一个问题,即即使直接成功运行命令,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/lo
$ 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)
CC=CC
来源=cams.c
对象=$(源:.c=.o)
可执行文件=bin/cams
全部:$(可执行)
$(可执行文件):$(对象)
$(CC)$(对象)-o$@
%.o:%.cpp
$(CC)-c$<-o$@
清洁:
rm-fv$(对象)$(可执行文件)
要包含任何其他编写的c文件,只需将文件名附加到源代码的末尾。确保使用制表符而不是空格。查看此Linux手册页了解更多信息。结果表明,目录名“obj”的存在是罪魁祸首。您不认为我们需要查看Makefile来回答这个问题吗?