2009-04-27 60 views
0

簡單的問題,我想使NMAKE下面的代碼生成具有以下內容check.mak文件: $(A) ,而不是我得到以下錯誤: 「NMAKE:致命錯誤U1040:內部錯誤:宏擴展「 有什麼建議嗎? 我的nmake版本是9.00.30729.01(VC 2008)。NMAKE - 約逃避

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語法的限制。

希望幫助,

埃裏克Melski

+0

我提出在MS連接這一問題 - https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=435762 在簡短的迴應是MS不在乎。 – 2009-04-30 09:51:22