cuda 12.x.x 在编译 darknet 时的问题和解决

cuda 12 开始不再支持compute_35 这么就造成如果使用这个或更高版本的cuda 时编译 darknet 不过的问题,并且,因为cuda 12 在编译安装后的库目录也做了一些改变,增加了 stubs 目录,在/usr/lib 目录里,部份.so 文件放在了这个目录里,这么就会造成 编译 darknet 时提示找不到 -lcuda 的问题。经过我多次尝试和网上查找相关资料,终于找到解决方法

1、修改 Makefile 找到

ARCH= -gencode arch=compute_35,code=sm_35

修改为 ARCH= -gencode arch=compute_75,code=sm_75

2、找到 -lcuda 指向的目录/usr/lib

修改为 /usr/lib/stubs