darknet /usr/bin/ld: cannot find -lcuda

Carnelian ·
更新时间:2024-09-20
· 839 次阅读

ubuntu18.04 , cuda10.0 编译darknet出现/usr/bin/ld: cannot find -lcuda

cannot find -lcuda 意思是编译时未找到libcuda库。

首先查看Makefile这中cuda路径是否正确,即下面第四行lib路径

ifeq ($(GPU), 1) COMMON+= -DGPU -I/usr/local/cuda-10.0/include/ CFLAGS+= -DGPU LDFLAGS+= -L/usr/local/cuda-10.0/lib64 -lcuda -lcudart -lcublas -lcurand endif

其次查看自己cuda对应路径下 ls /usr/local/cuda-10.0/lib64/是否有libcuda.so这个库。如果没有问题自然就找到了。

楼主这里有,但是libcuda.so是红色显示的,感觉那里不对。ls -lh /usr/local/cuda-10.0/lib64/发现是其建立libcuda.so.1的软链接不存在。

所以找到正确的libcuda.so.1建立软链接即可。建立和修改软链接成功一个即可。

定位库 locate libcuda

建立软链接 sudo ln -s /usr/lib/x86_64-linux-gnu/libcuda.so.1 /usr/local/cuda-10.0/lib64/libcuda.so

修改软链接 sudo ln -snf /usr/lib/x86_64-linux-gnu/libcuda.so.1 /usr/local/cuda-10.0/lib64/libcuda.so

重新编译
make clean
make


作者:听故事的人



ld find bin

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Tia 2022-12-09
114