使用包含空格的文件名的 GNUMake 最可靠的方法是什么?

2023-11-21

我想使用 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(使用前将#替换为@)

使用包含空格的文件名的 GNUMake 最可靠的方法是什么? 的相关文章

随机推荐

  • 如何在 iText XMLWorker 中摆脱 Helvetica?

    我们使用 iText 从 Java 代码生成 PDF 文件 这在大多数情况下工作得很好 几天前 我们开始生成 PDF A 而不是需要嵌入所有字体的普通 PDF 文件 iTextDocument大部分是定制的PdfPTable以及我们直接控制
  • Java:多对象变量(静态)

    我是面向对象编码的新手 并且遇到以下问题 注意this解决方案是我的问题的一部分 我需要一个许多对象可以引用的变量 但为每个对象保留一些 私有 信息 更具体地说 我创建了一个名为Worker我希望该类的每个对象都有一个唯一的类型 IDint
  • Android Studio - 设备文件资源管理器停止工作

    几天来 Android Studio 的设备文件资源管理器向我显示了以下消息 执行 shell 命令 pm list 包时出错 并且无法从数据文件夹中查看文件和应用程序 例如从我的 Flutter 应用程序获取数据库 有什么想法可以解决这个
  • Javascript Jupyter Notebook 如何获取代码单元格内容?

    有一个类似的问题here 但它是关于使用 python 代码读取 markdown 单元格 我想使用 JavaScript 例如在 Jupyter Notebook 前端扩展中 来读取代码单元中的源代码 我想对代码进行分析 然而 如果我只是
  • Android Activity 过渡动画

    我想要实现的是 使用现有活动的过渡动画启动一个新活动only 我想向上滑动当前活动 新活动将位于当前活动的后面 这是向上滑动的动画 R layout slide up
  • 获取两个 javascript 对象的增量

    我有两个大型的嵌套 JavaScript 对象 我想比较它们并创建一个仅代表差异的对象 我打算用它来创建 PATCH 请求 Given oldObj and newObj 仅在的属性newObj应该在差异中 仅在的属性oldObj应该在差异
  • 使用 pysmbc 通过 samba 读取文件

    我正在 Ubuntu 上使用 python smbc 库来访问 samba 共享 我可以很好地访问目录结构 但我不确定如何访问实际文件及其内容 网页 https fedorahosted org pysmbc 没有提到任何东西 代码是用C
  • PHP (Apache) 默默地将 HTTP 429 和其他转换为 500

    我刚刚在 PHP 的 header 方法中发现了一个奇怪的现象 它会默默地将我的一些状态转换为 500 由于我没有运气在各种网络搜索中找到提及此行为的信息 因此我将其添加到此处 希望能够避免其他人的烦恼 而且还要询问是否有人发现了比我想出的
  • Android 应用程序中的 WebView 内存泄漏

    我正在使用带有 webview 的布局 每次我在 web 视图中加载页面时 我都会在任务管理器中注意到内存泄漏 似乎我的 webview 保留在内存中所有页面的数据 我怎样才能避免这种行为 None
  • window.onbeforeunload 可能会触发多次

    仅仅因为您看不到某个功能的用途并不意味着它没有用 Stack Exchange 网络 GMail Grooveshark Yahoo Mail 和 Hotmail 使用 onbeforeunload 提示来防止 警告用户在开始编辑某些内容后
  • 如何将字符串解析为 float 或 int?

    我怎样才能转换str to float 545 2222 545 2222 我怎样才能转换str to int 31 31 For the reverse see Convert integer to string in Python an
  • Objective-C 中的 super 到底是什么?

    据我所知 它是指向超类的指针 它与超类是硬连线的 并且不是在运行时动态计算出来的 想更详细的了解一下 Anyone super 本质上 它允许您使用当前类的超类的实现 For the gritty detailsObjective C 运行
  • 当我仅使用脚本名称在 Windows 上运行 Python 脚本时无法重定向输出

    它在 Windows 7 64 位 带有 Win32 Python 扩展的 Python 2 6 上运行 我有一个简单的脚本 只打印 hello world 我可以启动它python hello py 在这种情况下 我可以将输出重定向到文件
  • 如何用C语言函数判断一个文件是否是elf文件?

    在我的程序中 我想识别文件是否是ELF 可执行和可链接格式 类型 如何用C语言函数判断一个文件是否是elf文件 If the only你要做的就是测试文件是否是 ELF 然后读取前 16 个字节来检查文件身份 前四个字节等于 0x7f E
  • 为什么我无法使用 LWP::Simple 获取维基百科页面?

    我正在尝试使用获取维基百科页面LWP 简单 但他们不会回来了 这段代码 usr bin perl use strict use LWP Simple print get http en wikipedia org wiki Stack ov
  • Python dict.get() 引发 KeyError

    我在这里迷路了 Python 2 7 我有一本字典mt 我用get 方法 文档中说 get key default 如果 key 位于则返回 key 的值 字典 否则默认 如果没有给出默认值 则默认为 无 因此该方法永远不会引发KeyErr
  • AngularJS:观察高度变化的更好方法

    我遇到了旧的可变高度导航问题 Aposition fixes顶部导航和内容margin top naviHeight以下 当数据异步加载时 导航可以改变高度 因此内容的边距也必须随之改变 我希望这是独立的 因此 没有加载数据的代码 而仅在涉
  • 如果锁定的对象内部发生异常,该对象是否会保持锁定状态?

    在 C 线程应用程序中 如果我要锁定一个对象 比如说队列 如果发生异常 该对象是否会保持锁定状态 这是伪代码 int ii lock MyQueue MyClass LclClass MyClass MyQueue Dequeue try
  • 使用 OpenSSL 读取证书文件时出现 Ruby 错误

    我正在尝试做一个简单的OpenSSL X509 Certificate new File read testuser p12 来自IRB与红宝石 1 8 7 或 1 9 2 两者结果相同 我得到的错误是OpenSSL X509 Certif
  • 使用包含空格的文件名的 GNUMake 最可靠的方法是什么?

    我想使用 GNUMake 运行基于规则的 makefile 该文件在目录结构中 在 Windows 文件系统上 构建一组 C 文件 根目录 部分子目录和部分文件包含空格 示例文件 C Documents and Settings