【问题标题】:Convert Cygwin path to Windows path in a makefile在 makefile 中将 Cygwin 路径转换为 ​​Windows 路径
【发布时间】:2010-12-09 16:04:35
【问题描述】:

如何在 GNU makefile 中将 Cygwin 样式路径 (/cygdrive/c/foo/bar) 转换为 Windows 样式 (C:/foo/bar)(是的,使用 / 继续)?我有将 Cygwin 的 make 与不理解 Cygwin 样式路径的 GCC 一起使用的情况,因此编译器不接受相对于 make 生成的 makefile 位置的路径。

【问题讨论】:

  • +1 好问题。我无法回答,只是将 / 挂载到 `` 并且只能从驱动器 c: 制作我的应用程序。
  • 反之如何,将Win路径转换为Cygwin?
  • @dan 你可以consider this Q/A 或者直接使用cygpath -u "C:/foo/bar"

标签: makefile cygwin gnu-make


【解决方案1】:

使用shell 函数执行带有-w 标志的cygpath 实用程序。

例子:

BAR := /cygdrive/c/foo/bar
WIN_BAR := $(shell cygpath -w ${BAR})

cygpath 接受很多附加选项。有关详细信息,请参见手册页。

【讨论】:

  • -m for "mixed mode" 似乎在路径中也给了我想要的 / 斜杠。
  • 是的,-w 似乎不起作用,因为 make 似乎将反斜杠解释为转义以下字符。
  • 由于某种原因,每次你给它一个相对的上一目录路径时,cygpath -w 都会将它转换成一个绝对路径。
猜你喜欢
  • 2019-01-08
  • 1970-01-01
  • 2014-08-10
  • 2017-03-20
  • 1970-01-01
  • 2019-06-11
  • 2013-06-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多