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.socudartライブラリの 32 ビット バージョン。
  • $CUDA_HOME/lib64/libcudart.socudartライブラリの 64 ビット バージョン。

(あなたの場合は$CUDA_HOMEです/usr/local/cuda-5.0

基本的に、リンカは最初に 32 ビット ライブラリを検出し (-Lオプションは順番に検索されます)、最終的に適切なライブラリを検出したとしても、その警告を返します。

32 ビット バージョンの前に 64 ビット アーキテクチャ用の適切なライブラリを見つけることができるように、おそらく事前に環境変数に追加$CUDA_HOME/lib64する必要があります。LD_LIBRARY_PATH$CUDA_HOME/libld

于 2013-06-13T06:22:31.147 に答える