我想使用 GNUMake 运行基于规则的 makefile,该文件在目录结构中(在 Windows 文件系统上)构建一组 C 文件。
根目录、部分子目录和部分文件包含空格。
示例文件:"C:\Documents and Settings\<username>\My Documents\Test Dir\Build Me.c"
当文件路径包含空格时,GNUMake 不起作用。我已经阅读了解决此问题的可能方法(从文件名中删除空格,使用 8.3 格式,用?
or \\
等等)但它们都不是完美的(或者它们是吗?)
有解决这个问题的灵丹妙药吗?
顺便说一句,我被 GNUMake 困住了,我无法使用不同的 make 工具。
最简单的事情确实是修复文件名。
如果做不到这一点,请编写命令以在文件名两边加上双引号。最简单、最安全的就是将所有文件名放入宏中;诀窍是你必须转义双引号,否则 Make 会想吃掉它自己。
所以:
FN="\"C:\My Documents\myfiles.c\""
FN2="C:\我的文档\myfile2.c"
或使用
$(CC) $(CFLAGS) "$(FN2)"
这里的技巧是用 echo 来回显你的命令行
echo $(CC) $(CFLAGS) "$(FN2)"
or use make -d
获取 make 正在尝试执行的操作的所有详细信息。
您可能需要对此进行一些修改,特别是您可能需要加倍转义
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)