NVCC CUDA交叉编译无法find“-lcudart”

我已经在Ubuntu虚拟机上安装了CUDA 5.0和NVCC,甚至在编译CUDA C程序时也遇到了问题。 错误如下:

user@ubuntu:~/CUDA$ nvcc helloworld.cu -o helloworld.o -target-cpu-arch=ARM -ccbin=/usr/bin/arm-linux-gnueabi-gcc-4.6 --machine=32 /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/local/cuda-5.0/bin/../lib/libcudart.so when searching for -lcudart /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libcudart.so when searching for -lcudart /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: cannot find -lcudart collect2: ld returned 1 exit status 

我试图研究这个问题,并遇到这个链接: 跳过不兼容的libcudart.so当search-lcudart

所以我遵循了在该链接上提供的build议,并添加了

  /usr/local/cuda-5.0/lib64 

 /usr/local/cuda-5.0/lib 

到我的LD_LIBRARY_PATH环境variables,现在这是结果

  user@ubuntu:~/CUDA$ echo $LD_LIBRARY_PATH /usr/local/cuda-5.0/lib:/usr/local/cuda-5.0/lib64 user@ubuntu:~/CUDA$ 

但问题依然存在,请大家帮忙。

Solutions Collecting From Web of "NVCC CUDA交叉编译无法find“-lcudart”"

CUDA 5.5是第一个支持ARM v7的CUDA版本。 您安装的CUDA 5.0工具包没有支持,这就是为什么它找不到正确版本的CUDA运行时库。

事实证明,我从NVIDIA使用的CUDA安装程序不允许我交叉编译我的CARMA板,但它必须从制造商SECO下载。

可能是Cuda Toolkits的一个问题。 第一个Cuda Toolkit 5.0不支持Arm。 第二个Cuda Toolkit 6.5交叉编译丢失了libcudart.so。 我解决了这个问题,是从Arm的Cuda Toolkit 6.5拷贝libcudart.so。

添加/etc/ld.so.conf这个:

/usr/local/cuda-5.0/lib /usr/local/cuda-5.0/lib64

并运行命令:ldconfig你的编译会发现cudart库