windows 为什么Bazel找不到Visual C++生成工具?

erhoui1w  于 2023-02-20  发布在  Windows
关注(0)|答案(3)|浏览(417)

我正在进行Tensorflow安装会话(每一次都是一次独特的体验),我试图了解Bazel构建工具出了什么问题。
为此,在下载了指南中提到的所有内容之后,我遵循了example here,还适当地添加了环境变量:
在尝试构建一个示例后,我得到:

The target you are compiling requires Visual C++ build tools.
Bazel couldn't find a valid Visual C++ build tools installation on your machine.

Visual C++ build tools seems to be installed at C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC
But Bazel can't find the following tools:
    VCVARSALL.BAT, cl.exe, link.exe, lib.exe, ml64.exe

这是没有意义的。我检查了一下,在这个目录中可以找到climiderexe,linkimiderexe和ml64. exe。我的另一个怀疑是,我可能需要管理员权限,所以我确实也用管理员权限运行了构建,但没有什么不同。
我怀疑VCVARSALL.bat可能丢失了,但我不知道需要安装什么才能获得该文件。

vddsk6oq

vddsk6oq1#

进入开始菜单〉设置。
找到设置"编辑帐户的环境变量"
查看顶部的列表("用户变量"),然后单击其下方的"新建..."按钮。
对于"变量名",输入BAZEL_VC
单击"浏览目录..."
导航到Visual Studio的VC目录。
例如,在您的系统上,这可能是C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\VC。
选择VC文件夹,然后单击"确定
"变量值"字段现在具有VC的路径。单击"确定"关闭窗口。
好的。
如果您打开新的cmd.exe或PowerShell终端并立即运行Bazel,它将找到Visual C++。
您好,这个是官网的连接https://docs.bazel.build/versions/main/install-windows.html
好像就是说 set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC 这两行代码没有效果,虽然运行没有错误,但是并没有起到效果 还是要用原始的方法,在我的电脑里面->高级系统设置->环境变量->用户变量;自己手动创建BAZEL_VS和BAZEL_VC这两个变量

jtoj6r0c

jtoj6r0c2#

我也有这个问题,所以下面的步骤解决了我的问题:
1.安装与Microsoft Visual C++相关的所有组件
1.删除与Bazel相关的任何环境变量
1.从此处下载Visual Studio 2017生成工具(版本15.0)https://my.visualstudio.com/Downloads?q=visual%20studio%202015&wt.mc_id=o~msft~vscom~older-downloads
1.运行命令“bazel清洁”
1.重试命令“bazel build”

iklwldmw

iklwldmw3#

好的,这个问题可以通过将Visual Studio目录重命名为2017来解决,因为我使用的Bazel的0.24.1版本似乎无法与构建工具的2019版本的工具链布局一起工作。
可以找到更多关于阅读github issue的信息。当然,相应的环境变量也必须更改。另一个(更好的)解决方案可能是使用2017年安装的构建工具或更新版本的Bazel,但这是TF当前安装指南中推荐的。

相关问题