我正在寻找一种告诉bazel应该使用哪个版本的VC ++的方法。
我已经设置了BAZEL_VC=\VS2017Community\VC\
但是问题是我的目录\VS2017Community\VC\Tools\MSVC
有许多不同的VC ++编译器。特别是有以下版本
14.11.25503
14.13.26020
14.15.26726
14.16.27023
可以强制bazel使用特定版本吗?默认情况下,它使用第一个(按字母顺序)对我来说不正确。
答案 0 :(得分:0)
目前尚无官方方法。 这就是bazel搜索MSVC编译器的方式(来自Visual Studio 2017)
# Normally there should be only one child directory under %VC_PATH%\TOOLS\MSVC,
# but iterate every directory to be more robust.
for path in dirs:
tool_path = str(path) + "\\bin\\HostX64\\x64\\" + tool
if repository_ctx.path(tool_path).exists:
break
基本上,它将使用cl.exe
一种解决方法可能只是重命名/移动您不需要的所有子目录,而无需修改一个子目录。 真正的方法是更改源代码并重新编译bazel:)
答案 1 :(得分:0)
Bazel 现在读取 BAZEL_VC_FULL_VERSION
,除 BAZEL_VC
外还设置。
set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC
set BAZEL_VC_FULL_VERSION=14.16.27023
这是为 Visual Studio 2017 和 2019 添加的。较旧的 VS 版本不支持它。