4

すべて正常に動作しましたが、NetBeansのLinux Ubuntu 12.10でCUDAプログラムを実行しようとしたところ、エラーが発生しました。

dist / Debug / GNU-Linux-x86 / my_cuda_1:共有ライブラリのロード中にエラーが発生しました:libcudart.so.5.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません

実行に失敗しました(終了値127、合計時間:191ms)

プロジェクトはビルドできます:コンパイル+リンクは問題なく、コマンドラインから実行することもできますが、NetBeansから実行しようとすると、このエラーが発生します。数分前に実行できましたが、どうなるでしょうか。

次のようなテキストを含むファイルmy_libをld.so.conf.dに追加しました。

/usr/local/cuda-5.0/lib64:/lib
/ usr / lib
/ usr / lib64

リンクの問題である可能性がありますlibcudart.so.5.0->licudart.so?cuda / lib libcudart.so.5.0(リンク)とlibcudart.so(リンク)およびlibcudart.so.5.0.35(共有ライブラリ)には2つのライブラリがあります。なぜ.so.5.0について文句を言うのですか?次のようなリンクがあります:sudo ln -s/usr/lib/x86_64-linux-gnu/libglut.so.3/usr/lib/libglut.soが必要です

共有ライブラリへのリンクに関連していると思います

root @ comp:#echo $ LD_LIBRARY_PATH / usr / lib / nvidia-current:/usr/local/cuda-5.0/lib :: / usr / local / cuda-5.0 / lib64:/ lib

これは::問題ではありませんか?これを変更しても同じエラーが発生するため、いいえのようです。PATHSを指定し、ldconfigを実行し、エクスポートを.bashrcに入れますが、まだ何もありません。その理由は、プログラムがNetBeans GUIから開始された場合、これらのライブラリをロードできないためですが、常にルートとしてNetBeansを開始します。

4

1 に答える 1

9

プロジェクトに追加 -> プロパティ -> 実行 -> 環境

名前: LD_LIBRARY_PATH

値: $LD_LIBRARY_PATH:/usr/lib/nvidia-current:/usr/local/cuda-5.0/lib:/usr/local/cuda-5.0/lib64:/lib

皆さん、ありがとうございました。それはうまく機能していたので、以前に何が起こったのかわかりません。

于 2013-03-12T21:01:41.873 に答える