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
、cudart
ライブラリの 32 ビット バージョン。$CUDA_HOME/lib64/libcudart.so
、cudart
ライブラリの 64 ビット バージョン。(あなたの場合は$CUDA_HOME
です/usr/local/cuda-5.0
)
基本的に、リンカは最初に 32 ビット ライブラリを検出し (-L
オプションは順番に検索されます)、最終的に適切なライブラリを検出したとしても、その警告を返します。
32 ビット バージョンの前に 64 ビット アーキテクチャ用の適切なライブラリを見つけることができるように、おそらく事前に環境変数に追加$CUDA_HOME/lib64
する必要があります。LD_LIBRARY_PATH
$CUDA_HOME/lib
ld