我在执行 makefile 时遇到问题。我正在尝试从 yesno.cpp 和guess.cpp 制作一个“猜测”文件。我要从前面提到的文件创建 yesnno.o 文件和guess.o 文件。我的代码如下:
g++ -c -DDEBUG yesno.cpp
g++ -c -DDEBUG guess.cpp
然后我应该链接这两个 .o 文件并创建一个名为guess 的可执行程序。我的代码如下:
g++ -o guess guess.o yesno.o
这将在我的目录中创建包含以下文件的猜测文件:
guess guess.cpp guess.o yesno.cpp yesno.h yesno.o
一切似乎都很好,直到我尝试提交此内容,但我不断收到错误消息:
"make: *** No targets specified and no makefile found. Stop.
Your makefile does not build 'guess' when invoked"
我不确定我做错了什么。请帮忙!
最佳答案
makefile 是程序 make
用于构建项目的文件。尝试在目录中创建一个名为 Makefile
或 makefile
的文件,其中包含以下内容。
CXX = g++
.PHONY: all
.SECONDARY:
all: guess
guess: guess.o yesno.o
$(CXX) -o $@ $^
%.o: %.cpp yesno.h
$(CXX) -c -DDEBUG $<
要构建您的项目,请运行 make
。例如,您可以运行 make -j2
来并行运行最多 2 个作业。
关于c++ - Unix 中的 MakeFile 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45405554/