私はCUDA 4.0ツールキットをインストールしました。また、Eclipse HeliosのCUDA pluginもAMD64 Ubuntu 10.10マシンの上にインストールしました。私はすべてのNVIDIA GPU Computing SDKのサンプルを正常にコンパイルすることができたので、私のビルドシステムは上手く見えます。しかし、私は、Eclipse上でコンパイルするためのプラグインのHello WorldのCUDAテンプレートを作ることができない、以下に示すように、ランタイムライブラリを見つけるように見えるしません:YDL.netのEclipse CUDAプラグインがCUDA 4.0に対応しています
**** Build of configuration Release for project holamundo ****
make all
cc holamundo.o -o holamundo
holamundo.o: In function `__sti____cudaRegisterAll_44_tmpxft_000022c4_00000000_4_holamundo_cpp1_ii_main()':
tmpxft_000022c4_00000000-1_holamundo.cudafe1.cpp:(.text+0xa): undefined reference to `__cudaRegisterFatBinary'
holamundo.o: In function `main':
tmpxft_000022c4_00000000-1_holamundo.cudafe1.cpp:(.text+0x7d): undefined reference to `cudaMalloc'
tmpxft_000022c4_00000000-1_holamundo.cudafe1.cpp:(.text+0xca): undefined reference to `cudaConfigureCall'
tmpxft_000022c4_00000000-1_holamundo.cudafe1.cpp:(.text+0xe9): undefined reference to `cudaMemcpy'
tmpxft_000022c4_00000000-1_holamundo.cudafe1.cpp:(.text+0x256): undefined reference to `cudaFree'
tmpxft_000022c4_00000000-1_holamundo.cudafe1.cpp:(.text+0x273): undefined reference to `HelloWorld_kernel(int, char*)'
holamundo.o: In function `__cudaUnregisterBinaryUtil()':
tmpxft_000022c4_00000000-1_holamundo.cudafe1.cpp:(.text+0x38): undefined reference to `__cudaUnregisterFatBinary'
holamundo.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
make: *** [holamundo] Error 1
は、誰もがすでにバージョン4.0プラグインを使用しようとしていますのCUDAツールキットの?私はこれをテストしていませんが、バージョン3.xとの互換性のために設計されているかのように見えます。
あなたのプロジェクトがCUDAランタイムライブラリをリンクしていないようです。これはCUDA 4.0に特有のことではありません。 – talonmies
しかし、ldconfigを使用してLD_LIBRARY_PATHをcorectlyに設定しました。私は分かりません、Eclipseはこの環境変数について知っていますか? –
LD_LIBRARY_PATHはコンパイルに影響を与えません。実行時に共有ライブラリがどのように見つかるかを制御します。 – talonmies