我剛剛安裝了CUDA 4.0工具包,並且還在用於Eclipse Helios的CUDA plugin上安裝了AMD64 Ubuntu 10.10機器。我已經能夠成功編譯所有的NVIDIA GPU Computing SDK示例,所以我的構建系統看起來很好。但我不能把這個插件的的Hello World CUDA模板編譯Eclipse的,它似乎並沒有找到運行時庫,如下圖所示: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。我只是不知道,Eclipse是否知道這個環境變量? –
LD_LIBRARY_PATH對編譯沒有影響,它控制在運行時如何找到共享庫。 – talonmies