gpt4 book ai didi

windows - 在 Make 和 windows 中使用环境变量形成路径

转载 作者:可可西里 更新时间:2023-11-01 11:21:11 26 4
gpt4 key购买 nike

我有一个 make 文件,我正试图用它来将文件复制到目录中。目录的路径存储在环境变量中。问题是当我运行时,环境变量中的 C:\Data 被解释为 C:Data。如何阻止将其解释为转义字符?

copyData : buildData
cp Release/*.tbl $(DATA)/index

results in:

cp Release/*.tbl C:\Data/index
cp: `C:Data/index': specified destination directory does not exist
Try `cp --help' for more information.

最佳答案

实际上,使用正斜杠是最佳且正确的解决方案。 Windows 实用程序始终支持正斜杠,因此它可以正常工作,并且试图记住始终引用路径名以避免反斜杠问题是一个主要的麻烦。

在这种情况下,首先要注意的是问题不是make 的问题。 make 将正确的内容传递给 shell;是 shell 将反斜杠解析为转义字符。

正如我在上面所说的,正确的答案是使用正斜杠,但是如果你想让人们使用反斜杠,你必须检查你的 makefile 并引用所有可能出现反斜杠的参数。例如:

copyData : buildData
cp Release/*.tbl '$(DATA)'/index

将解决您眼前的问题。

如果你只有几个这样的变量,你也可以这样做:

QDATA = '$(DATA)'

然后记得在需要引用值的地方使用 $(QDATA):

copyData : buildData
cp Release/*.tbl $(QDATA)/index

附言。使用正斜杠!! :-)

关于windows - 在 Make 和 windows 中使用环境变量形成路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9722537/

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