【问题标题】:make: g: No such file or directory make: *** No rule to make target `g'. Stopmake: g: 没有这样的文件或目录 make: *** 没有规则来生成目标“g”。停止
【发布时间】:2020-02-07 01:37:21
【问题描述】:

我的用户文件夹中保存了一个名为“g”的示例生成文件。我用谷歌搜索了如何正确运行 makethis article 说我应该这样运行它:

make -f g

但是当我按照文章告诉我的方式运行它时,就会出现这样的结果:

make: g: No such file or directory
make: *** No rule to make target `g'.  Stop.

运行file g的输出:

g: ERROR: cannot open `g' (No such file or directory)

runnng 的输出pwd:

/home/vagrant

makefile 保存在:c:/Users/g.MK 是否需要将文件保存在某个地方以便系统可以找到它?

我再次将示例 makefile 保存在我的用户文件夹中,所以我不知道为什么它说 no such file or directory我尝试运行 cd /g 但我仍然得到 -bash: cd: /g: No such file or directory 有谁知道系统为什么找不到该文件?提前感谢您的所有帮助。

这是示例生成文件:

edit : main.o kbd.o command.o display.o \
       insert.o search.o files.o utils.o
        cc -o edit main.o kbd.o command.o display.o \
               insert.o search.o files.o utils.o

main.o : main.c defs.h
    cc -c main.c
kbd.o : kbd.c defs.h command.h
    cc -c kbd.c
command.o : command.c defs.h command.h
    cc -c command.c
display.o : display.c defs.h buffer.h
    cc -c display.c
insert.o : insert.c defs.h buffer.h
    cc -c insert.c
search.o : search.c defs.h buffer.h
    cc -c search.c
files.o : files.c defs.h buffer.h command.h
    cc -c files.c
utils.o : utils.c defs.h
    cc -c utils.c
clean :
    rm edit main.o kbd.o command.o display.o \
       insert.o search.o files.o utils.o

我开着:

Linux vagrantlucid32 2.6.32-73-generic-pae #140-Ubuntu SMP Tue Feb 10 15:30:51 UTC 2015 i686 GNU/Linux Ubuntu 10.04.4 LTS

【问题讨论】:

  • 从您运行 make 的同一目录中,请运行 file g 并编辑您的问题以包含输出。您可能还希望包含pwd 的输出以及文件g 的完整绝对路径。
  • 您确定您正在运行make -f g(注意-f 选项)?你得到的输出看起来很像你正在运行make g(缺少-f选项)。
  • 剪切并粘贴你输入的命令和你得到的输出,直接进入你的问题(用4个空格作为前缀,所以它被格式化为代码),这样我们就可以准确地看到发生了什么。
  • 大家好,我刚刚用请求的输出编辑了我的问题。我输入的命令是make -f g,输出是:make: g: No such file or directory make: *** No rule to make target g'.@G.M. @MadScientist

标签: linux makefile vagrant ubuntu-10.04 lucid


【解决方案1】:

当您键入时...

make -f g

make 期望在当前工作目录中找到一个名为g 的文件。

由于您要使用的makefile 具有真实路径...

c:/Users/g.MK

你需要使用...

make -f c:/Users/g.MK

【讨论】:

  • 嗨,它仍然说:make: c:/Users/g.MK: No such file or directory make: *** No rule to make target 你还有什么建议吗?我想把它保存在 vagrant 主文件夹中,但我不知道主文件夹在哪里。感谢您的帮助。
  • 那么,与你所说的相反,我认为你的 makefile 不在c:/Users/g.MK。另外,您使用的是 Ubuntu Linux,那么为什么 makefile 路径以驱动器号 c: 开头?现在这对我来说毫无意义。
  • 我在 Windows 上安装了这个:Linux vagrantlucid32 2.6.32-73-generic-pae #140-Ubuntu SMP Tue Feb 10 15:30:51 UTC 2015 i686 GNU/Linux Ubuntu 10.04.4 LTS
猜你喜欢
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
相关资源
最近更新 更多