nmake - 关于转义的简单问题

Posted

技术标签:

【中文标题】nmake - 关于转义的简单问题【英文标题】:nmake - simple question about escaping 【发布时间】:2009-04-27 19:41:12 【问题描述】:

我想制作下面的 nmake 代码来生成包含以下内容的 check.mak 文件: $(A) 相反,我收到以下错误: “NMAKE:致命错误 U1040:内部错误:宏扩展” 有什么建议么? 我的 nmake 版本是 9.00.30729.01 (VC 2008)。

OPTION = A
FILE = check.mak

all :
    @echo "$$($(OPTION))" > $(FILE)

【问题讨论】:

【参考方案1】:

这看起来像是 NMAKE 中的一个错误。经过一些实验,我发现以下解决方法可以为您提供所需的输出,尽管它有点难看:

OPTION=A
FILE=check.mak
LPAREN=(
RPAREN=)

all:
        echo $$$(LPAREN)$(OPTION)$(RPAREN) > $(FILE)

对于它的价值,我还用我公司销售的 NMAKE 仿真器尝试了您的原始版本,发现它能够毫无错误地处理 makefile,这就是为什么我有信心说观察到的行为是NMAKE 实现中的错误,而不是 NMAKE 语法的限制。

希望对你有帮助,

埃里克·梅尔斯基

【讨论】:

我在 MS Connect 上提出了这个问题 - connect.microsoft.com/VisualStudio/feedback/… 简而言之,MS 不在乎。

以上是关于nmake - 关于转义的简单问题的主要内容,如果未能解决你的问题,请参考以下文章

关于angularJS绑定数据时自动转义html标签

nmake 警告 U4006:特殊宏未定义:'$@"'

windoes cmake与nmake

您可以使用 NMAKE 为变量分配通配符吗? [复制]

Visual Studio 2010错误#U1095,NMAKE

关于angularJS绑定数据时自动转义html标签