Diese Warnung tritt häufig auf, wenn versucht wird, einen 64-Bit-Code mit einer 32-Bit-Bibliothek zu verknüpfen, siehe folgende Frage: Skipping Incompatible Libraries at compile.
Sie benötigen 2 Bibliotheksdateien zu unterscheiden:
$CUDA_HOME/lib/libcudart.so
, die 32-Bit-Version der cudart
Bibliothek.
$CUDA_HOME/lib64/libcudart.so
, die 64-Bit-Version der cudart
-Bibliothek.
(in Ihrem Fall $CUDA_HOME
ist /usr/local/cuda-5.0
)
Grundsätzlich findet der Linker die 32-Bit-Bibliothek zuerst (-L
Optionen, um gesucht werden) und gibt diese Warnung auch wenn es um die richtigen zu finden, endet Bibliothek.
Sie müssen wahrscheinlich $CUDA_HOME/lib64
auf Ihre LD_LIBRARY_PATH
Umgebungsvariable hinzuzufügen, bevor $CUDA_HOME/lib
so dass ld
kann die richtige Bibliothek für Ihre 64-Bit-Architektur vor der 32-Bit-Version.
Versuchen Sie, einen 64-Bit-Code zu kompilieren? Wenn dies der Fall ist, müssen Sie eine Verknüpfung mit der 64-Bit-Version herstellen, die sich in '/ usr/local/cuda-5.0/lib64/libcudart.so' befinden muss. – BenC