CMake找不到cuda.h文件

时间:2018-11-14 09:56:47

标签: c++ cmake cuda

我的项目中只有带有* .cpp或* .h扩展名的源文件。但是其中一些调用cuda主机函数并使用cublas库。使用enable_language(CUDA)之后,该cmake可以在配置阶段找到nvcc:

-- The CUDA compiler identification is NVIDIA 8.0.61
-- Check for working CUDA compiler: /gpfs/share/software/cuda/cuda-8.0/bin/nvcc
-- Check for working CUDA compiler: /gpfs/share/software/cuda/cuda-8.0/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done

但是,在编译这些源文件时,出现此错误:

fatal error: cuda.h: No such file or directory

cmake选择的编译器仍然是/ usr / bin / c ++而不是nvcc。如何处理这个错误?我必须将这些源文件重命名为.cu.cuh吗?

1 个答案:

答案 0 :(得分:1)

否,您需要在include_directories()中包含CUDA标头。应该来自CUDA_INCLUDE_DIRS变量。

使用CUDA标头包含C ++文件是完全可以的,但是您需要像其他任何库一样添加包含文件。