如何修复损坏的OpenCL标头

时间:2015-08-21 10:34:20

标签: c++ opencl

我正在使用OpenCL的cl.hpp包装器。我已经为OpenCL和OpenGL安装了所有必需的头文件和驱动程序(我使用的是AMD),但是如果我尝试编译我的应用程序就失败了,说:

/usr/include/CL/cl.hpp Line 1617: undefined reference to 'clReleaseCommandQueue'
/usr/include/CL/cl.hpp Line 1608: undefined reference to 'clReleaseContext'
/usr/include/CL/cl.hpp Line 2227: undefined reference to 'clGetPlatformIDs'
/usr/include/CL/cl.hpp Line 2234: undefined reference to 'clGetPlatformIDs'

我在互联网上搜索了一段时间,但它接缝我是唯一一个遇到这个问题的人。我需要定义一些东西吗?我的包含代码如下:

#define __CL_ENABLE_EXCEPTIONS
#define USE_CL_DEVICE_FISSION
#include <CL/cl.hpp>

欢迎任何帮助。

1 个答案:

答案 0 :(得分:2)

您的代码编译得很好 - 您看到的错误是链接器错误。您只需要链接OpenCL库(-lOpenCL与GCC / Clang,OpenCL.lib与MSVC)。