首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复"make (e=2):系统找不到指定的文件“。

如何修复"make (e=2):系统找不到指定的文件“。
EN

Stack Overflow用户
提问于 2019-03-26 12:30:07
回答 2查看 9.1K关注 0票数 2

我想使用mingW32_make.exe在命令提示符下编译C代码。错误信息显示

代码语言:javascript
运行
复制
rm -f obj/*.o
process_begin: CreateProcess(NULL, rm -f obj/*.o, ...) failed.
make (e=2): The system cannot find the file specified.
makefile:11: recipe for target 'all' failed
mingw32-make.exe: *** [all] Error 2

makefile如下所示

代码语言:javascript
运行
复制
CC=gcc
INC_DIR=../include
LIBS=-lregex
ODIR=obj
_OBJ=main.o BVPA.o BVPA-cube.o BVPA-cif.o BVPA-hk.o BVPA-path.o BVPA-math.o BVPA-cmd.o BVPA-gui.o BVPA-vesta.o MT19937AR.o
OBJ=$(patsubst %,$(ODIR)/%,$(_OBJ))
TARGET=../bin/BVPA_win.exe
CFLAGS=-I$(INC_DIR) -Wall -g

all: $(TARGET)
    rm -f $(ODIR)/*.o

$(TARGET): $(OBJ)
    $(CC) $(CFLAGS) -o $@ $^ $(LIBS)

$(ODIR)/%.o: %.c
    $(CC) $(CFLAGS) -c -o $@ $^

clean:
    rm -f $(ODIR)/*.o

“”“

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-22 11:56:07

这个问题的答案其实很简单。当前目录中没有obj文件夹,所以编译器不知道在哪里添加或删除。您可以简单地在源代码目录中添加一个obj文件夹

票数 1
EN

Stack Overflow用户

发布于 2020-12-29 06:00:11

我也遇到过同样的问题,这就是解决办法。原因来自其他人的评论:

Windows不理解rm

当您运行make时,它将清除所有.o文件。

清洁:

代码语言:javascript
运行
复制
del *.o
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55357230

复制
相关文章

相似问题

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