【发布时间】:2012-01-10 06:47:08
【问题描述】:
我正在尝试将git describe 的输出作为预处理器定义到我的构建中,以便在版本控制模块中使用。不幸的是,这有点相反(不确定问题出在哪里)。
我有一个预构建事件,例如:
for /f "delims=" %a in ('git describe') do set GITID=%a
在命令提示符下工作,但在构建中返回代码 255(导致错误)。所以我把它改成了:
git describe > buildprops_gitid.txt
set /p GITID= < buildprops_gitid.txt
这同样适用于命令提示符(并且在构建期间不会出错)。该文件使用正确的值创建。
在预处理器设置中,我有:
BUILD_TARGETFILE=$(TargetFileName)
BUILD_GITID=$(GITID)
前者工作正常,按预期将目标文件名放入文件中。后者不起作用,而是放置一个空字符串。我怀疑这与 env var 在途中丢失有关。
有没有办法获取 CLI 程序的输出并将其用作 Visual Studio 中的变量 ($(var))?
【问题讨论】:
标签: visual-studio preprocessor environment-variables