【发布时间】:2015-01-08 19:00:26
【问题描述】:
我正在尝试将我的 SVN 修订信息保存到一个宏中,同时通过 Microsoft Visual Studio 的 nmake 制作我的代码。
在 GNU make 中,我执行以下操作:
SVN_REVISION=r$(shell svnversion -n)
所以我得到例如:SVN_REVISION=r10001
在 Microsoft nmake 中也可以这样做吗?
提前谢谢你。
【问题讨论】:
-
“NMAKE 继承了会话开始之前存在的环境变量的宏定义”。因此,您可以在调用
nmake之前简单地定义它。以编程方式定义它的一种方式是通过for /f "usebackq",另一种方式可能是通过set /p。我没试过。看看吧。 -
@Alf 感谢您的回复。是的,你提到的方式是我目前的解决方案。我想知道在定义宏时是否可以在一个 Makefile 中做到这一点。我尝试过这样的事情:
for /f %%i in ('svnversion -n') do set revision=r%%i,但它在 makefile 中无法正常工作:/ -
你还需要
"usebackq"选项。批处理文件中的双百分号,交互式命令的单百分号。是不是很美妙。 :-D
标签: c++ visual-studio nmake