JETSON TK1 cuda6.5 编译darknet cuda版本/usr/bin/ld: cannot find -lcudart cannot find -lcublas 解决

来源:互联网 发布:淘宝售后客服话术大全 编辑:程序博客网 时间:2024/05/29 18:38

JETSON TK1 cuda6.5 编译darknet cuda版本将makefile中GPU=0改为GPU=1时,编译报错如下:
gcc -Wall -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -DOPENCV -DGPU -shared obj/gemm.o obj/utils.o obj/cuda.o obj/deconvolutional_layer.o obj/convolutional_layer.o obj/list.o obj/image.o obj/activations.o obj/im2col.o obj/col2im.o obj/blas.o obj/crop_layer.o obj/dropout_layer.o obj/maxpool_layer.o obj/softmax_layer.o obj/data.o obj/matrix.o obj/network.o obj/connected_layer.o obj/cost_layer.o obj/parser.o obj/option_list.o obj/detection_layer.o obj/route_layer.o obj/box.o obj/normalization_layer.o obj/avgpool_layer.o obj/layer.o obj/local_layer.o obj/shortcut_layer.o obj/activation_layer.o obj/rnn_layer.o obj/gru_layer.o obj/crnn_layer.o obj/demo.o obj/batchnorm_layer.o obj/region_layer.o obj/reorg_layer.o obj/tree.o obj/lstm_layer.o obj/convolutional_kernels.o obj/deconvolutional_kernels.o obj/activation_kernels.o obj/im2col_kernels.o obj/col2im_kernels.o obj/blas_kernels.o obj/crop_layer_kernels.o obj/dropout_layer_kernels.o obj/maxpool_layer_kernels.o obj/network_kernels.o obj/avgpool_layer_kernels.o -o libdarknet.so -lm -pthreadpkg-config –libs opencv-L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand -lstdc++
/usr/bin/ld: cannot find -lcudart
/usr/bin/ld: cannot find -lcublas
/usr/bin/ld: cannot find -lcurand

一开始按照搜索/usr/bin/ld:cannot find -lxxx 寻求解决方案的方法去尝试并没有成功

进而分析命令行报错信息:
/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand -lstdc++
/usr/bin/ld: cannot find -lcudart
/usr/bin/ld: cannot find -lcublas
/usr/bin/ld: cannot find -lcurand

查看/usr/local/cuda/目录,发现目录下并没有lib64目录,只有lib目录,但是上述没有找到的.so文件在lib64中也有。

尝试解决方案:修改makefile文件:
将makefile第46行

LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand

lib64去掉64修改为:

LDFLAGS+= -L/usr/local/cuda/lib -lcuda -lcudart -lcublas -lcurand

再次编译,成功通过