我的 make 文件有问题。它不会在创建第一个 .o
文件后继续读取。这是我的制作文件:
CC = g++
CFLAGS = -g
LDFLAGS = -lm
PokerEval.o: PokerEval.cpp
${CC} ${CFLAGS} -c PokerEval.cpp
random.o: random.cpp random.h
${CC} ${CFLAGS} -c random.cpp
myprogram: random.o PokerEval.o
${CC} ${CFLAGS} PokerEval.o random.o ${LDFLAGS} -o myprogram
clean:
rm -f myprogram *.o
.PHONY: all clean
所以当我运行它时,我得到的是:
$ make
g++ -g -c PokerEval.cpp
最佳答案
Make 通常1 构建生成文件中的第一个 目标,除非您在命令行中指定目标。
因此,您通常首先指定您的主要目标(例如,可执行文件),然后再指定它所依赖的任何目标。
请注意,您可以(并且经常这样做)在第一个目标之前定义宏——它们不算作目标。
- “通常”在这种情况下意味着“总是,使用适当设计的 make 实用程序”。异常(exception)是他们称为 make 的一种古老的 Microsoft 工具,但它构建了一切,无论如何。他们当前的
nmake
(“new make”)可以正常工作(至少是半正确的)已经存在了几十年。
关于c++ - Makefile 不读取其余部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16137464/