6

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

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

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

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

4

1 回答 1

11

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

您需要区分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/lib64到您的LD_LIBRARY_PATH环境变量中,$CUDA_HOME/lib以便ld在 32 位版本之前为您的 64 位架构找到合适的库。

于 2013-06-13T06:22:31.147 回答