我正在尝试在Windows中设置一个环境变量,并在配方窗口make中访问它。 一般代码如下:
$(foreach i, $(SHORTCUT_TARGETS), $(eval $(call BUILD_ARTIFACT,$(i),$(param1),$(param2))))
define BUILD_ARTIFACT
Rule: Prerequisites
@echo Building : $(1)
$(if $(filter $(1),string), ,setx LAST $(1) )
$(if $(filter $(1),string),\
@echo path-%LAST%,\
@echo path-$(1)
endef
当我运行它时,setx命令成功执行,通常给出一个输出" SUCCESS:保存指定的值。" 但是回声的输出将是路径%LAST%而不是替换环境变量的输出。我从cmd和powershell尝试过它,我在两种情况下都获得了相同的输出。 我也尝试用set和export替换setx,这两种方法都没有产生积极的结果。