我正在尝试编译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
答案 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