【发布时间】:2016-04-04 11:57:27
【问题描述】:
看图,我想在 Windows 10 下的 Makefile 中为 c 项目创建文件夹。在最后一行,我不小心添加了“#”,它可以工作。但是,如果没有最后一行的“#”,它就不起作用。
该行如下:
mkdir -p $@
或
mkdir -p $@ #
- 为什么没有“#”就不能工作?
- 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是一个 U*x 命令。除非你有某种 U*x 用户空间(cygwin、Bash 等),否则它根本无法工作,就像cmd /c start notepad.exe在非 Windows 平台上不太可能做任何有用的事情。 -
凯勒姆。它不起作用意味着将其解释为错误并停在那里。
-
三胞胎,你是对的。 makefile 是来自 Linux 的模板。我试图将它移植到 Windows 环境。但是windows下怎么改写呢。
-
@tripleee 它阅读了手册,它说 mkdir -p 不受支持。但是,windows 的 equilant 是什么?