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

时间:2013-06-13 06:09:02

标签: cuda

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

  

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

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

有没有人知道有关此信息的更多详细信息?

1 个答案:

答案 0 :(得分:11)

尝试将64位代码与32位库链接时,通常会发生此警告,请参阅此问题:Skipping Incompatible Libraries at compile

您需要区分2个库文件:

  • $CUDA_HOME/lib/libcudart.socudart库的32位版本。
  • $CUDA_HOME/lib64/libcudart.socudart库的64位版本。

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

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

您可能需要在$CUDA_HOME/lib64之前将LD_LIBRARY_PATH添加到$CUDA_HOME/lib环境变量中,以便ld可以在32位之前找到适合您的64位架构的库。位版。