首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Unix生成文件错误“'ake: Fatal error:不知道如何生成(此处为c文件)”

Unix生成文件错误“'ake: Fatal error:不知道如何生成(此处为c文件)”
EN

Stack Overflow用户
提问于 2010-02-17 08:59:44
回答 6查看 12.1K关注 0票数 1

我已经写了下面的makefile:

代码语言:javascript
运行
复制
hw2p1: hw2p1_main.o hw2p1_getit.o hw2p1_parseit.o hw2p1_moveit.o hw2p1_showit.o
    gcc hw2p1_main.o hw2p1_getit.o hw2p1_parseit.o hw2p1_moveit.o hw2p1_showit.o
hw2p1_main.o: hw2p1_main.c
    gcc -c hw2p1_main.c
hw2p1_getit.o: hw2p1_getit.c
    gcc -c hw2p1_getit.c
hw2p1_parseit.o: hw2p1_parseit.c
    gcc -c hw2p1_parseit.c
hw2p1_moveit.o: hw2p1_moveit.c
    gcc -c hw2p1_moveit.c
hw2p1_showit.o: hw2p1_showit.c
    gcc -c hw2p1_showit.c

当我第一次尝试调用make时,我得到了这样的错误:" make : Fatal error:意外的行尾显示“我删除了目标之间的空行并再次调用了make,但这次我得到了”ake: Fatal error:不知道如何制作hw2p1_main.c“

我已经分别编译了所有这些文件,然后将它们链接起来,所以我知道这些错误是由不正确的makefile造成的,而不是由我的c文件中的错误造成的。

这是我写的第一个makefile,所以我可能做得完全不正确。无论哪种方式,对于如何摆脱这些错误有什么建议吗?

EN

回答 6

Stack Overflow用户

发布于 2010-02-17 09:02:07

当目录无意中不是它应该是的目录时,可能会发生这种情况,因此看起来像是hw2p1_main.c的缺失需要一个规则来创建C源文件。

也可能是文件名拼写错误。

票数 1
EN

Stack Overflow用户

发布于 2010-02-17 09:03:14

您似乎在链接命令中遗漏了-o,尽管您可能还没有想到这一点。直接抱怨是make找不到.c文件。确定它在当前的工作目录中吗?

票数 1
EN

Stack Overflow用户

发布于 2010-02-17 09:16:08

首先,尝试使用makefile,它只编译一件事:

代码语言:javascript
运行
复制
hw2p1_moveit.o: hw2p1_moveit.c
    gcc -o moveit.o -c hw2p1_moveit.c

另外,确保第二行使用TAB字符,而不是空格。(我必须在我的编辑器中手动设置它,因为空格是唯一的智能方法:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2277626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档