提问者:小点点

make-error:没有这样的文件或目录错误:recipe for target*失败


情况

正在尝试在生成文件编译后进行清理。

错误

这些是我在尝试进行一个简单的清理操作时经常收到的错误。

错误:

高曼:

制作linux

g++ Main.o CHARACTER.o ATTRIBUTES.o -o bin/release/Player.sh find *.o -type f -delete  
g++: error: find: No such file or directory
g++: error: f: No such file or directory
g++: error: unrecognized command line option ‘-type’; did you mean ‘-pipe’?

高曼:

制作linux

g++ Main.o CHARACTER.o ATTRIBUTES.o -o bin/release/Player.sh rm -f *.o
g++: error: rm: No such file or directory
g++: error: unrecognized command line option ‘-f’

高曼:

制作linux

g++ Main.o CHARACTER.o ATTRIBUTES.o -o bin/release/Player.sh clean
g++: error: clean: No such file or directory
Makefile:2: recipe for target 'linux' failed

生成文件

linux: Main.o CHARACTER.o ATTRIBUTES.o
    g++ Main.o CHARACTER.o ATTRIBUTES.o -o bin/release/Player.sh clean

(alternate command attempt)
    g++ Main.o CHARACTER.o ATTRIBUTES.o -o bin/release/Player.sh -rm -f *.o

(alternate command attempt)
    g++ Main.o CHARACTER.o ATTRIBUTES.o -o bin/release/Player.sh find *.o -type f -delete

win32: Main.o CHARACTER.o ATTRIBUTES.o
    g++ Main.o CHARACTER.o ATTRIBUTES.o -o bin/release/Player.exe cleanWin

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

CHARACTER.o: src/CHARACTER.cpp include/CHARACTER.h
    g++ -c src/CHARACTER.cpp

ATTRIBUTES.o: src/ATTRIBUTES.cpp include/ATTRIBUTES.h
    g++ -c src/ATTRIBUTES.cpp

clean:
    rm -f *.o

cleanWin:
    del *.o

摘要

除了清除例程之外,所有的工作都很好,但是,一旦尝试清除,我就会对在我的操作系统(无论是Win32还是Linux)中都可以访问的函数出错。我不太明白为什么这些简单的命令经常出现问题。

类似员额

虽然,我的问题与下面的帖子相似,但他们的解决方案显然没有效果。

>

  • 如何避免make cleanMakefile target
  • 出现“没有这样的文件或目录”错误
  • makefile没有这样的文件或目录

    • 对您的任何反馈提前表示欢迎和感谢。

  • 共1个答案

    匿名用户

    您正在添加find*.o-type f-deletefind*.o-type f-delete和其他清理命令作为g++的参数。在命令之间放置。示例:

    linux: Main.o CHARACTER.o ATTRIBUTES.o
            g++ Main.o CHARACTER.o ATTRIBUTES.o -o bin/release/Player.sh ;
            clean
    

    注意,这个目标linux实际上并不生成linux文件。它将生成一个名为bin/release/player.sh的二进制文件,这对于二进制文件来说是一个非常糟糕的名称。.sh通常为shell脚本保留。