我想知道 StackOverflow 今天是否可以帮助我!所以我目前正在为我在 Uni 的一门 CS 类(class)完成一个 C 语言的项目,我遇到了一个有趣的问题。当我在我的 OSX 环境中使用命令“make”和“make test”时,它运行得很好,但是当我在 Ubuntu 虚拟机上测试它时,它给了我这些错误:
make: prim: 找不到命令
makefile:32: 目标配方'测试失败。
make: ***[test] 错误 127
下面是我的 makefile 代码,如有任何帮助,我们将不胜感激。
OBJS = main.o scanner.o AM.o binheap.o CDLL.o node.o prim.o vertex.o
OPTS = -Wall -Wextra -g -std=c99
main : $(OBJS)
gcc $(OPTS) $(OBJS) -o prim -lm
main.o : main.c scanner.h AM.h binheap.h CDLL.h node.h prim.h vertex.h
gcc $(OPTS) -c main.c
scanner.o : scanner.c scanner.h
gcc $(OPTS) -c scanner.c
node.o : node.c node.h
gcc $(OPTS) -c node.c
AM.o : AM.c AM.h
gcc $(OPTS) -c AM.c
prim.o : prim.c prim.h
gcc $(OPTS) -c prim.c
binheap.o : binheap.c binheap.h
gcc $(OPTS) -c binheap.c
CDLL.o : CDLL.c CDLL.h
gcc $(OPTS) -c CDLL.c
vertex.o : vertex.c vertex.h
gcc $(OPTS) -c vertex.c
test: prim
@echo ###############################
@echo TESTING GRAPH1.TXT
@echo prim graph1.txt
@echo ###############################
prim graph1.txt
@echo ###############################
@echo TESTING GRAPH2.TXT
@echo prim graph2.txt
@echo ###############################
prim graph2.txt
@echo ###############################
clean :
rm -f $(OBJS) main
最佳答案
make: prim:Command not found
该错误消息告诉您出了什么问题。在 Ubuntu 上的 PATH
中找不到 prim
。假设 prim
是您刚刚在本地目录中构建的程序,您应该在 Makefile 中运行 ./prim
。
关于c - Makefile 适用于 OS X 但不适用于 Ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40724787/