繁体   English   中英

Makefile | Make 后清理 - 错误:没有这样的文件或目录 | 错误:目标配方 * 失败

[英]Makefile | Cleaning up after Make - Error: No such file or directory | Error: recipe for target * failed

情况

尝试在 Makefile 编译后进行清理。

错误

这些是我在尝试执行(人们认为是)简单的清理操作时经常收到的错误。

错误:

命令:

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

Makefile

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。 不太明白为什么这些简单的命令经常出现问题。

类似帖子

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

您正在将find *.o -type f -deletefind *.o -type f -delete和其他清理命令作为 arguments 添加到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 脚本保留。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM