gpt4 book ai didi

windows - 将 GNUMake 与包含空格的文件名一起使用的最可靠方法是什么?

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

我想使用 GNUMake 来运行基于规则的 makefile,它在目录结构中(在 Windows 文件系统上)构建一组 C 文件。

根目录、部分子目录和部分文件包含空格。

示例文件:"C:\Documents and Settings\<username>\My Documents\Test Dir\Build Me.c"

当文件路径包含空格时,GNUMake 无法正常工作。我已经阅读了解决此问题的可能方法(从我的文件名中删除空格,使用 8.3 格式,用 ?\\ 等替换空格)但它们都不完美(或者它们是? )

有没有 Elixir 可以解决这个问题?

顺便说一句,我受困于 GNUMake,我不能使用其他制作工具。

最佳答案

最简单的事情确实是修复文件名。

如果做不到这一点,请编写您的命令以在文件名周围加上双引号。最简单和最安全的方法是将所有文件名放入宏中;这里的诀窍是你必须转义双引号,否则 Make 会想吃掉它自己。

所以: FN="\"C:\My Documents\myfiles.c\"" FN2="C:\My Documents\myfile2.c"

或使用 $(CC) $(CFLAGS) "$(FN2)"

这里的技巧是用 echo 回显你的命令行

echo $(CC) $(CFLAGS) "$(FN2)"

或者使用 make -d 来获取 make 试图做什么的所有细节。

您可能需要对此进行一些修改,特别是,您可能需要加倍转义

关于windows - 将 GNUMake 与包含空格的文件名一起使用的最可靠方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/668322/

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