gpt4 book ai didi

c - Windows Makefile c mkdir -p $@

转载 作者:行者123 更新时间:2023-11-30 19:12:49 30 4
gpt4 key购买 nike

如图,我想在Windows 10下的c项目的Makefile中创建文件夹。在最后一行,我不小心添加了“#”,它起作用了。但是,如果最后一行没有“#”,它就不起作用。

该行如下:

mkdir -p $@

mkdir -p $@ #
  1. 为什么没有“#”就不起作用?
  2. 如何在windows 10下正确书写?

编辑:简短的错误消息错误消息是系统找不到给定的文件(它是翻译)

making dirs....
build/
mkdir -p build/
Makefile:293: recipe for target 'build/' failed
process_begin: CreateProcess(NULL, mkdir -p build/, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.

make: *** [build/] Error 2

编辑:我在文本中添加代码如下

#Create non existing dirs
OBJDIRS = $(sort $(dir $(OBJS))) #sort removes duplicate dirs...
$(OBJDIRS):
@echo
@echo "making dirs...."
@echo $@
mkdir -p $@ #ok

最佳答案

mkdir 不需要 -p 参数,因此将其删除。另外,它需要反斜杠而不是斜杠,请替换它们。

因此,您必须使用的命令而不是当前的 mkdir 是:

    mkdir $(subst /,\,$@)

编辑:

在这种不太可能的情况下,CMD 命令扩展默认被禁用,您必须改用此命令:

    cmd /E:ON /C mkdir $(subst /,\,$@)

关于c - Windows Makefile c mkdir -p $@,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36401973/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com