gpt4 book ai didi

windows - makefile - 转义括号

转载 作者:可可西里 更新时间:2023-11-01 10:48:44 28 4
gpt4 key购买 nike

我的 HD 上有一个文件夹,其名称中包含括号。喜欢:C:/stuff(真的很酷)/。 make $(wildcard ..) 函数无法在此目录中正常工作。

$(wildcard C:/stuff (really cool)/*.jpg)`

评估为根本没有结果。我猜这是因为目录名中的右括号被视为 $(wildcard ..) 函数的右括号。使用反斜杠转义 () 不起作用。同样不起作用的是将目录名放入变量中,然后使用通配符函数。

DIR = C:/stuff (really cool)
all:
@echo "$(wildcard $(DIR)/*.jpg)"

再次没有结果。

我应该如何正确地转义括号?

最佳答案

以下不起作用,保留以警告其他人:

特殊字符通常用引号括起来“保护”或转义。要创建带括号的变量,请使用双引号。

DIR = "C:/stuff (really cool)"

在你的情况下,最大的问题是空间会导致你的路径被分解成几个部分而不是一个部分。

这个有效:

GNU Make 允许您使用 \\ 转义空格,因此您对 $wildcard 的调用将变成

$(wildcard C:/stuff\\ (really\\ cool)/*.jpg)

关于windows - makefile - 转义括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13288782/

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