直接调用命令行或从makefile调用命令行之间的区别

时间:2014-06-24 11:20:11

标签: command-line makefile mingw

关于mingw make和windows命令行(Win7),我有一个令人困惑的问题:

我有一个makefile,它会调用一个vbs文件将.vds文件转换为.png文件。这里是makefile的代码(没有定义的变量,你可以在下面的图片中看到结果)。

VSD2PNG: $(VISIO_OUTPUT)
    @echo *** converting visio files to png files finished


define vsd_rule
$(1): $(call FILTER_FUNCTION,$(basename $(notdir $(1))),$(VISIO_FILES))
    $(VSD_SCRIPT) $$< $(VISIO_OUTPUT_DIR)
endef
$(foreach file,$(VISIO_OUTPUT),$(eval $(call vsd_rule,$(file))))

导致

enter image description here

如您所见,该命令应使用两个参数(输入文件和输出目录)调用。\ tools \ visio \ convert(.vbs)。令人惊讶的是,在Windows命令行中执行的相同命令工作正常。我尝试了一些修改来解决问题(失败):

  • 向vbs-script添加文件扩展名导致错误193,但我无法找到,这意味着什么。
  • 在没有任何参数的情况下调用脚本会导致脚本中出现运行时错误,但这会导致再次出现错误-1(或文件扩展名为193)。
  • 使用脚本的绝对路径

有没有人更多地了解直接从命令行调用脚本或从makefile调用脚本之间的区别,这通常应该通向命令行?

0 个答案:

没有答案