找不到opencl库?

问题描述 投票:1回答:2

我正在尝试编译一个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

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

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

谢谢,Piyush

opencl
2个回答
1
投票

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


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
© www.soinside.com 2019 - 2024. All rights reserved.