nmake - 关于逃避的简单问题

时间:2009-04-27 19:41:12

标签: windows macros nested escaping nmake

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

OPTION = A
FILE = check.mak

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

1 个答案:

答案 0 :(得分:1)

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

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

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

为了它的价值,我还尝试使用我公司销售的NMAKE模拟器,并发现它能够处理makefile而没有错误,这就是为什么我有信心说观察到的行为是NMAKE实现中的错误,而不是NMAKE语法的限制。

希望有所帮助,

Eric Melski