在cmake的编译过程中,可能会报找不到cuda编译器的错误,如下
-- The CUDA compiler identification is unknown
CMake Error at CMakeLists.txt:3 (enable_language):
No CMAKE_CUDA_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CUDACXX" or the CMake cache entry CMAKE_CUDA_COMPILER to the full
path to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
See also "/home/aaeon/work/yolo-tensorrt/build/CMakeFiles/CMakeOutput.log".
See also "/home/aaeon/work/yolo-tensorrt/build/CMakeFiles/CMakeError.log".
解决办法就是找到cuda编译器所在位置,然后指定给cmake。
1、找到cuda安装所在位置
查看/usr/local,该文件夹下一般保存有你下载的cuda文件以及一个cuda软连接文件,如图
其中的cuda-10.2就是我自己下载的cuda,版本是10.2;而cuda则是指向cuda-10.2的软连接文件。
当你下载多个版本的cuda时,cuda软连接文件指向其中一个你指定的cuda版本,具体哪个版本,可以输入nvcc --version查看。
2、指定cuda编译器
cmake -D CMAKE_CUDA_COMPILER="/usr/local/cuda/bin/nvcc" CMmakeLists.txt