2013-08-21 36 views
1

我試圖用cufft.so庫在nsight中構建一個項目,但鏈接器(ld)找不到庫文件,我很難過。配置NSight(Eclipse)和ld

庫安裝爲/usr/local/cuda/lib64/libcufft.so

在項目屬性我去了「常規 - >路徑和Symbols->庫」選項卡,並添加在/ usr /本地/ CUDA/lib64目錄/ libcufft.so,並有很好的措施去圖書館路徑選項卡,並添加在/ usr /本地/ CUDA/lib64的

確切的錯誤是

Finished building: ../main.cu 

Building target: cufftTest2 
Invoking: NVCC Linker 
/usr/local/cuda-5.5/bin/nvcc --cudart static -L/usr/local/cuda/lib64 -link -o "cufftTest2" ./main.o -l/usr/local/cuda/lib64/libcufft.so 
/usr/bin/ld: cannot find -l/usr/local/cuda/lib64/libcufft.so 
collect2: error: ld returned 1 exit status 
make: *** [cufftTest2] Error 1 

和環境的路徑配置爲:

echo $LD_LIBRARY_PATH 
/usr/local/cuda/lib64: 
echo $PATH 
/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 
echo $MANPATH 
/usr/local/cuda/man: 

我敢肯定,我已經做了一些愚蠢的,但我不知道爲什麼LD找不到/usr/local/cuda/lib64/libcufft.so

任何人都可以在這方面幫助?

+1

解決方案,非常感謝羅伯特克羅維拉:圖書館的路徑是空的,圖書館只是「套」 – user2462730

回答

2

只需使用cufft作爲庫,以便在實際的鏈接器命令行中顯示爲-lcufft

主機代碼編譯和鏈接使用NVCC gcc的接頭期望被指示這樣的庫:

庫:

/path/to/library/libmystuff.so 

鏈接器開關:

-L/path/to/library/ 
-lmystuff 

(通知lib前綴和.so後綴都被丟棄)