搜索-lcudart时跳过不兼容的libcudart.so

kon*_*jac 6 cuda

当我使用nvcc 5.0编译.cu文件时,编译器会给我以下信息.

/ usr/bin/ld:在搜索-lcudart时跳过不兼容的/usr/local/cuda-5.0/lib/libcudart.so

它似乎是警告或错误.我不知道是怎么回事.

有没有人知道这些信息的更多细节?

Ben*_*enC 11

尝试将64位代码与32位库链接时,通常会发生此警告,请参阅以下问题:在编译时跳过不兼容的库.

您需要区分2个库文件:

  • $CUDA_HOME/lib/libcudart.so,32位版本的cudart库.
  • $CUDA_HOME/lib64/libcudart.so,64位版本的cudart库.

(在你的情况下,$CUDA_HOME/usr/local/cuda-5.0)

基本上,链接器首先找到32位库(-L按顺序搜索选项)并返回该警告,即使它最终找到正确的库.

您可能需要先添加$CUDA_HOME/lib64LD_LIBRARY_PATH环境变量中,$CUDA_HOME/lib以便ld在32位版本之前找到适合您的64位体系结构的库.