我正在使用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>
欢迎任何帮助。
答案 0 :(得分:2)
您的代码编译得很好 - 您看到的错误是链接器错误。您只需要链接OpenCL库(-lOpenCL
与GCC / Clang,OpenCL.lib
与MSVC)。