找不到opencl库?

时间:2014-02-18 18:51:11

标签: opencl

我正在尝试编译opencl示例代码但是我收到以下错误

    /usr/bin/ld: cannot find -lOpenCL
/usr/bin/ld: cannot find -loclUtil_x86_64
/usr/bin/ld: cannot find -lshrutil_x86_64
collect2: error: ld returned 1 exit status
make: *** [../../..//OpenCL//bin//linux/release/DeviceQuery] Error 1

我正在使用基于英特尔的机器...... 我的make文件是 EXECUTABLE := DeviceQuery CCFILES := devQury.cpp include ../common/common_opencl.mk

任何帮助都会有很大的帮助

谢谢, PIYUSH

2 个答案:

答案 0 :(得分:1)

您是从Intel还是AMD安装过OpenCL SDK?如果没有,那么也许你应该遵循these instructions。如果您安装了SDK,那么您的makefile可能在编译器命令行中缺少-L ...,其中...是OpenCL SDK中lib文件夹的路径,该文件夹应包含文件libOpenCL.a或类似内容。

答案 1 :(得分:1)

确保/ usr / lib中存在OpenCL库(libOpenCL.so)。这应该由司机实施,所以你不应该做任何事情。

如果没有,请将您的cuda工具包(lib64)中的 libOpenCL.so 复制到上述位置。

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