当我用 nvcc 5.0 编译 .cu 文件时,编译器会给我以下信息。
/usr/bin/ld:在搜索 -lcudart 时跳过不兼容的 /usr/local/cuda-5.0/lib/libcudart.so
这似乎是警告或错误。我不知道这是怎么回事。
有没有人知道有关此信息的更多详细信息?
当我用 nvcc 5.0 编译 .cu 文件时,编译器会给我以下信息。
/usr/bin/ld:在搜索 -lcudart 时跳过不兼容的 /usr/local/cuda-5.0/lib/libcudart.so
这似乎是警告或错误。我不知道这是怎么回事。
有没有人知道有关此信息的更多详细信息?
当尝试将 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 位架构找到合适的库。