chr*_*pec 4 windows shell powershell nmake build
我是nmake的新手,需要修改构建脚本。我想执行命令并将结果捕获到变量中,然后将在整个脚本中使用该变量。但是,当尝试使用shell命令时,我收到以下错误消息:
makefile(4) : fatal error U1000: syntax error : ')' missing in macro invocation
Stop.
Run Code Online (Sandbox Code Playgroud)
我整理了一行脚本来测试shell命令。
生成文件:
CMDRESULT = $(shell hostname)
all:
echo $(CMDRESULT)
Run Code Online (Sandbox Code Playgroud)
这是使用的nmake的版本:
>nmake /?
Microsoft (R) Program Maintenance Utility Version 11.00.60610.1
Copyright (C) Microsoft Corporation. All rights reserved.
Run Code Online (Sandbox Code Playgroud)
nmake是否支持shell命令?nmake中是否还有另一个选项可以执行命令并捕获结果?
如果输出包含一行文本,则可以使用temporay文件将另一个程序输出读取到nmake变量中。也可以使用外部脚本来修改多行输出并使该解决方案起作用。读取一行输出到nmake变量的示例:
!IF [hostname>hostname.tmp] == 0
H_NAME = \
!INCLUDE hostname.tmp
!IF [del hostname.tmp] == 0
!ENDIF
!ENDIF
Run Code Online (Sandbox Code Playgroud)
这[for execution]
用于执行一些命令并比较return code
程序。它是在预处理期间完成的。在这里描述的黑客之后,“无法弄清楚如何从nmake读取文件”用于从临时文件读取一行。