当我用nvcc 5.0编译.cu文件时,编译器会给我以下信息。
/ usr / bin / ld:在搜索-lcudart时跳过不兼容的/usr/local/cuda-5.0/lib/libcudart.so
似乎是警告或错误。我不知道是怎么回事。
有没有人知道有关此信息的更多详细信息?
答案 0 :(得分:11)
尝试将64位代码与32位库链接时,通常会发生此警告,请参阅此问题:Skipping Incompatible Libraries at compile。
您需要区分2个库文件:
$CUDA_HOME/lib/libcudart.so
,cudart
库的32位版本。$CUDA_HOME/lib64/libcudart.so
,cudart
库的64位版本。(在您的情况下,$CUDA_HOME
为/usr/local/cuda-5.0
)
基本上,链接器首先找到32位库(按顺序搜索-L
选项)并返回该警告,即使它最终找到了正确的库。
您可能需要在$CUDA_HOME/lib64
之前将LD_LIBRARY_PATH
添加到$CUDA_HOME/lib
环境变量中,以便ld
可以在32位之前找到适合您的64位架构的库。位版。