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