CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find CUDA: Found unsuitable version “9.0”, but required is exact
version “8.0”
解决办法:
mkdir build
# cmake .. 一般会这样,但没有这样
cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0 .. #ok编译成功,需要指定一下cuda路径
这样指定路径就可以编译了。
原理转自 http://www.it1352.com/344521.html:
cmake的提到 CUDA_TOOLKIT_ROOT_DIR 作为CMake的变量,而不是环境之一。这就是为什么当你把它变成的.bashrc不工作。如果你看看FindCUDA.cmake它清楚地说:
该脚本会提示用户指定CUDA_TOOLKIT_ROOT_DIR如果preFIX
不能NVCC的位置,在系统路径和要求的确定
被指定到find_package()。要使用的不同的安装版本
工具箱设置环境变量CUDA_BIN_PATH运行cmake的前
(例如CUDA_BIN_PATH =的/ usr /本地/ cuda1.0而不是默认的/ usr /本地/ CUDA)
或配置之后设置CUDA_TOOLKIT_ROOT_DIR。如果更改的值
CUDA_TOOLKIT_ROOT_DIR,依赖路径上的各种组件将
搬迁。