【发布时间】:2018-01-06 09:58:53
【问题描述】:
我在执行 makefile 时遇到问题。我正在尝试从 yesno.cpp 和guess.cpp 制作一个“猜测”文件。我要从前面提到的文件中创建一个 yesnno.o 文件和guess.o 文件。我的代码如下:
g++ -c -DDEBUG yesno.cpp
g++ -c -DDEBUG guess.cpp
然后我应该链接这 2 个 .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 包含什么?你甚至有一个Makefile吗?或者你是否试图从字面上运行你的 Makefile?你试过了吗:
make? -
你做错了什么是问一个关于你的
Makefile的问题,但没有显示你的Makefile的一行,我想每个人都猜到里面有什么。 -
我想我没有makefile。我认为makefile 是由guess.o 和yesno.o 创建的猜测文件。它说我应该创建一个 makefile 来编译 yesno.cpp 和guess.cpp 以生成文件guess.o 和yesno.o。
-
不,这不是makefile。
-
你知道如何构建
guess(使用上面的三个命令)。 Make 是一种工具,可让您通过 Make 读取的脚本(称为 makefile)自动执行某些任务(例如构建文件)。学习编写 makefile 需要一些时间和精力。