Compilation CMake找不到更新的CUDA软件包?
我已经安装了CUDA 7.5版和8.0版,但cmake似乎只能找到7.5版。运行此代码:Compilation CMake找不到更新的CUDA软件包?,compilation,cmake,cuda,Compilation,Cmake,Cuda,我已经安装了CUDA 7.5版和8.0版,但cmake似乎只能找到7.5版。运行此代码: find_package(CUDA 8.0 REQUIRED) 给出此错误: CMake Error at P:/Program Files/CMake/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find CUDA: Found unsuitable version "7.5
find_package(CUDA 8.0 REQUIRED)
给出此错误:
CMake Error at P:/Program Files/CMake/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find CUDA: Found unsuitable version "7.5", but required is at
least "8.0" (found C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5)
即使v8.0与v7.5位于同一目录中。这是cmake的问题,还是我在这里做错了什么?您可以通过从cmake命令行设置
CUDA\u TOOLKIT\u ROOT\u DIR
标志,显式地向cmake提供CUDA路径:
cmake-DCUDA\u TOOLKIT\u ROOT\u DIR=
CUDA版本检测由CMake的findCUDA
功能完成:
可能由于某种原因,findCUDA
search无法找到您安装的CUDA 8.0。可能是
CUDA\u BIN\u PATH
设置为7.5,因此CMake会选择该路径。您可以通过从CMake命令行设置CUDA\u TOOLKIT\u ROOT\u DIR
标志,显式地向CMake提供CUDA路径:
cmake-DCUDA\u TOOLKIT\u ROOT\u DIR=
CUDA版本检测由CMake的findCUDA
功能完成:
可能由于某种原因,findCUDA
search无法找到您安装的CUDA 8.0。可能是
CUDA_BIN_PATH
设置为7.5,因此CMake会选择该值
find_-package(CUDA)
都会在环境变量$PATH
中查找具有其nvcc
(通常位于/bin
)的工具包。如果$PATH
中有多个nvcc
,它将拾取第一个。在windows上,安装程序通常会自动添加相关的环境变量,因此找到的版本取决于安装顺序find_package(CUDA)
,因为CMake现在对CUDA拥有一流的支持- CMake文档
- 中标题注释的前几段
find_-package(CUDA)
都会在环境变量$PATH
中查找具有其nvcc
(通常位于/bin
)的工具包。如果$PATH
中有多个nvcc
,它将拾取第一个。在windows上,安装程序通常会自动添加相关的环境变量,因此找到的版本取决于安装顺序find_package(CUDA)
,因为CMake现在对CUDA拥有一流的支持- CMake文档
- 中标题注释的前几段
CMakeLists.txt
(而不是继续搜索指定的版本)。你的意思是我必须使用“set”设置它吗CmakeList中的命令?我对CMake是新手,但我认为使用它的全部目的是避免手动设置内容?您可以在CMake的命令行中设置CUDA标志-我编辑了答案以澄清。是的,理想情况下CMake应该为您自动查找包,但在这种情况下,当安装了多个CUDA版本。CMake似乎会选择它找到的第一个CUDA版本,然后检查该版本是否与CMakeLists.txt
中指定的版本匹配(而不是继续搜索指定的版本)。