2014-02-18 26 views
1

我試圖編譯OpenCL的樣本代碼,但我收到以下錯誤找不到opencl的庫?

/usr/bin/ld: cannot find -lOpenCL 

在/ usr /斌/勞工處:找不到-loclUtil_x86_64 在/ usr /斌/勞工處:找不到-lshrutil_x86_64 collect2 :錯誤:1

我使用基於英特爾的機器* [../../..//OpenCL//bin//linux/release/DeviceQuery]錯誤:LD返回1個退出狀態 化妝。 .. 我的文件是 EXECUTABLE := DeviceQuery CCFILES := devQury.cpp include ../common/common_opencl.mk

任何幫助將是很大的幫助

感謝, 的Piyush

回答

1

你無論從英特爾或AMD安裝OpenCL的SDK?如果不是,那麼也許你應該遵循these instructions。如果您安裝了SDK,那麼makefile可能會丟失-L ...在編譯器命令行中,其中...是OpenCL SDK中lib文件夾的路徑,該路徑應包含文件libOpenCL.a或類似內容。

2

確保OpenCL庫(libOpenCL.so)存在於/ usr/lib中。這應該由司機來實施,所以你不應該做任何事情。

如果沒有,則複製libOpenCL.so存在於您的cuda工具包(lib64)中的上述位置。

sudo cp /usr/local/cuda-7.0/lib64/libOpenCL.so /usr/lib 

此修正錯誤

/usr/bin/ld: cannot find -lOpenCL 
collect2: error: ld returned 1 exit status