【问题标题】:*** No rule to make target, Makefile error in Win10*** 没有创建目标的规则,Win10 中的 Makefile 错误
【发布时间】:2017-09-13 20:40:11
【问题描述】:

首先,请不要告诉我这是重复的。我知道,但我浏览过的许多问题都给出了过于具体的答案,无法帮助我,坦率地说,其中有一半是在我脑海中浮现的。我对使用 Makefile 非常陌生,我对为什么我的不工作感到困惑。

我确信这很简单,但请帮忙,如果您需要更多信息,我很乐意尝试找到它,请多多包涵,因为我是通过手机完成这一切的,因为我的大学的IT部门是由猿管理的。目前,这是我的 Makefile:

作业 1 的生成文件

finish : main.o 
    g++ -o finish main.o

main.o :    
    g++ -c -g -Wall main.cpp

clean :       
    del main.o

(抱歉,不配合,我想说明一下,命令前面有必要的标签)

我使用 GNU 编译器在 Windows 10 上运行它。据我所知,除了文件名之外,它看起来与我们提供的示例 Makefile 完全相同。我知道我在正确的目录中,没有拼写错误,源文件应该存在,因为我盯着它坐在生成文件旁边。这些是我记得看到的通用修复。 main.o 命令完美运行并编译源文件,但其他两个只是给我错误

make: *** 没有使目标“完成/清理”的规则。停下来。

我很困惑,很恼火,对 Makefiles 和 Stack Overflow 不熟悉,只是想寻求帮助。任何建议将不胜感激。

【问题讨论】:

  • 未经调查,Makefile 中一个非常常见/令人困惑的错误是它们必须有制表符,而不是空格。
  • 天哪,我希望它这么简单,我有标签,只是我没有很好的方法把它放在我的手机上,而且文本字段很挑剔
  • 它在我的机器上运行良好。复制粘贴此code 以确保。你确定你在 Makefile 的同一目录中有一个 main.cpp 文件吗?我运行 mingw32-make (也许它会有所帮助)。尝试运行make main.o 看看会发生什么。
  • 不幸的是我无法复制粘贴代码,因为我的互联网仍然无法使用,但我的似乎是相同的,我什至重写了几次以确保。我绝对确定 Makefile 和 main.cpp 在同一个目录中。我有一个指向 mingw32-make 的符号链接(很确定就是这个词),但我运行它只是为了检查和相同的结果。最奇怪的是 main.o 仍然可以完美运行。其他两个都给了我错误,但 main.o 命令没有一个问题......计划硬着头皮以这个速度问我的教授
  • 好吧...我想我可能已经解决了我愚蠢的自己的问题。我在某处读到,如果您在文件资源管理器地址栏中突出显示文件路径并键入 cmd,它将打开该目录的命令提示符,听起来很方便,所以我一直在这样做,但现在我将 cmd 运行并导航到cd的目录,问题似乎已经消失了......我觉得很愚蠢,但谢谢大家帮助我解决这个问题

标签: windows-10 makefile


【解决方案1】:

我正在粘贴我的示例:

CC = g++
CFLAGS = -g
test.o: test.cpp
    $(CC) $(CFLAGS) -c test.cpp
last.o: last.cpp
    $(CC) $(CFLAGS) -c last.cpp
program: test.o last.o
    $(CC) $(CFLAGS) -o program test.o last.o 
clean: 
    $(RM) test.o last.o

我遇到了类似的问题,请尝试使用 $(RM) 而不是“del”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 2012-05-15
    • 2010-10-24
    • 2023-01-10
    • 1970-01-01
    相关资源
    最近更新 更多