【问题标题】:nmake - simple question about escapingnmake - 关于转义的简单问题
【发布时间】: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)
【问题讨论】:
标签:
windows
macros
nested
escaping
nmake
【解决方案1】:
这看起来像是 NMAKE 中的一个错误。经过一些实验,我发现以下解决方法可以为您提供所需的输出,尽管它有点难看:
OPTION=A
FILE=check.mak
LPAREN=(
RPAREN=)
all:
echo $$$(LPAREN)$(OPTION)$(RPAREN) > $(FILE)
对于它的价值,我还用我公司销售的 NMAKE 仿真器尝试了您的原始版本,发现它能够毫无错误地处理 makefile,这就是为什么我有信心说观察到的行为是NMAKE 实现中的错误,而不是 NMAKE 语法的限制。
希望对你有帮助,
埃里克·梅尔斯基