Bazel - 令牌附近出现意外错误

Bazel - Unpected error near token

我正在尝试使用 mysysbazel 来设置我的 bazel 环境。按照此 website 的说明,我已经做得很好,直到我必须将环境变量设置为 Visual Studio。

我尝试使用以下代码将 visual studio 设置为环境变量

export BAZEL_VC=C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC

但是我得到了这个错误:

-bash: syntax error near unexpected token `('

阅读错误,我的猜测是 ( 令牌未被接受。一种解决方案是更改目录名称。但我宁愿不那样做。我希望有人能提供更多 C++ 答案。

需要在Bash中引用环境变量值:

export BAZEL_VC="C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC"

不过,我建议在 Windows 命令提示符 (cmd.exe) 中使用 Bazel,而不是 MSYS Bash。 (文档似乎建议从 MSYS 运行ning Bazel 吗?)

在 Bazel 0.5.0 之前,Bazel 确实需要从 MSYS 运行 shell,但它在 cmd.exe 上运行了很长时间。

如果您使用来自 cmd.exe 的 Bazel,并且想要设置环境变量,那么您不得引用值:

set BAZEL_VC=C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC

因为 cmd.exe 不会像 Bash 那样删除(也不需要)引号。