SET(CMAKE_CUDA_COMPILER "C:/sdk/CUDA/11.2/bin/nvcc.exe")
Check for working CUDA compiler: C:/sdk/CUDA/11.2/bin/nvcc.exe
Check for working CUDA compiler: C:/sdk/CUDA/11.2/bin/nvcc.exe - broken
CMake Error at D:/huangyx/sdk/opencv/cmake-3.21.2-windows-x86_64/share/cmake-3.21/Modules/CMakeTestCUDACompiler.cmake:56 (message):
The CUDA compiler
"C:/sdk/CUDA/11.2/bin/nvcc.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: D:/projects/VS2017/Paddle/build/CMakeFiles/CMakeTmp
Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe cmTC_0de38.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=15.0 /v:m && 用于 .NET Framework 的 Microsoft (R) 生成引擎版本 15.9.21+g9802d43bc3
版权所有(C) Microsoft Corporation。保留所有权利。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 11.2.targets(606,9): error : The CUDA Toolkit v11.2 directory '' does not exist. Please verify the CUDA Toolkit is installed properly or define the CudaToolkitDir property to resolve this error. [D:\projects\VS2017\Paddle\build\CMakeFiles\CMakeTmp\cmTC_0de38.vcxproj]
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:74 (enable_language)
解决方法:
打开文件:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 11.2.props
<PropertyGroup>
<CudaToolkitDir Condition="'$(CudaToolkitDir)' == ''">$(CudaToolkitCustomDir)C:/sdk/CUDA/11.2</CudaToolkitDir>
...
</CudaToolkitVersion>
指定 CudaToolkitDir 的目录即可,如:$(CudaToolkitCustomDir)C:/sdk/CUDA/11.2
报错原因是环境变量 $(CudaToolkitCustomDir) 没有设置,我们直接指定自己的CUDA安装目录就好。