来自 Cygwin 的“源”VsDevCmd.bat

Vla*_*hev 3 cygwin batch-file visual-studio visual-studio-2015

所以,VsDevCmd.bat是一个极好的脚本,为Visual Studio工具集的环境变量:

'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat'

我使用的Visual Studio工具cllink等从Cygwin的。如何使用该脚本设置所有相同的环境变量,而无需在 bash 中重新创建脚本?

我可以从 cmd shell 运行批处理脚本然后启动 bash,但这并不令人满意——我需要启动从 Cygwin 中“采购”批处理文件的过程。

Vla*_*hev 5

这就是我的结果。这个 bash 函数将cmdVcVarsAll.bat文件一起运行,然后将嵌套bash以打印可以提取的环境变量:

# Given envar names return their newline-separated values setup for VS2015
#
# VcVarsAll.bat is a script that sets up environment variables for Visual
# Studio command-line builds:
#
#   https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx
#
query_vcvarsall() {
  local envars=$*

  (cd '/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC' &&
   cmd /c "VcVarsAll.bat amd64 && c:/cygwin/bin/bash -c 'printenv $envars'")
}
Run Code Online (Sandbox Code Playgroud)

然后设置,例如PATH

export PATH="$(query_vcvarsall PATH)"
Run Code Online (Sandbox Code Playgroud)