nvcc 编译报错:找不到 "cuda_runtime.h"

奇怪的错误

今天在安装 PANet 时遇到了一个奇怪的错误:

1
2
Compiling nms kernels by nvcc...
cc1plus: fatal error: cuda_runtime.h: No such file or directory

按理说不应该出现这种奇怪的错误,cuda_runtime.h 就安静地躺在 /usr/local/cuda/include 目录下,cuda 安装是没有问题的,这个仓库在实验室的服务器上也跑过,完全没有问题。然而就是这样的错误费了老半天时间也无法定位原因,网上的解决办法无非就是环境变量的问题,多次确认之后环境变量是没有问题的

😩

难道要因为这个错误重装 cuda?

重装是不太可能的,服务器上配环境太费事,

于是查看 nvcc 命令帮助,果然其中写着可以用 -I 选项指定包含头文件的路径,迅速在 PANet/lib/make.sh 中有关 nvcc 的命令加上 -I /usr/local/cuda/include ,运行,成功 😎

估计是环境变量出现了某种错误,虽然到最后也没有搞明白为什么会出现这个错误,但好歹是解决了这个问题。这个问题说明了遇事不能只靠百度,要自己好好分析