nvcc错误:';中金公司';在使用bazel构建tensorflow时死亡,状态为0xC0000005(访问违反)

nvcc错误:';中金公司';在使用bazel构建tensorflow时死亡,状态为0xC0000005(访问违反),tensorflow,bazel,nvcc,Tensorflow,Bazel,Nvcc,我正在尝试构建Tensorflow 1.14.0 dll。我正在使用Bazel0.24.1来实现这一点。我还使用CUDNN 7.1.4和CUDA 9。我希望它使用VisualC++的构建工具2015,但是运行BAZEL时要建立DLL: bazel build --config=cuda tensorflow:tensorflow.dll, 默认情况下,在LIB和INCLUDE变量中设置了路径C:\Program Files(x86)\Microsoft Visual Studio\2017\B

我正在尝试构建Tensorflow 1.14.0 dll。我正在使用Bazel0.24.1来实现这一点。我还使用CUDNN 7.1.4和CUDA 9。我希望它使用VisualC++的构建工具2015,但是运行BAZEL时要建立DLL:

bazel build --config=cuda tensorflow:tensorflow.dll,
默认情况下,在LIB和INCLUDE变量中设置了路径C:\Program Files(x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023。然后我得到一系列错误,如C:\Program Files(x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include\xutility(796):错误:表达式必须有一个常量值。生成失败并出现错误:nvcc错误:“cicc”已死亡,状态为0xC0000005(访问违反)

我试图设置:

set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio 14.0
set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC

但错误仍然存在。有什么想法吗?

我终于找到了解决办法。通过设置以下环境变量,可以强制执行正确的路径:

CPU_编译器=('C:/ProgramFiles(x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe') GCC_主机_编译器_路径=('C:/ProgramFiles(x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe')

就在跑步之前

bazel build --config=cuda tensorflow:tensorflow.dll
在命令行中。最好在Powershell中执行此操作,因为在使用Windows命令行时,路径中的空格/撇号存在问题