我将编译一段需要OpenCL 1.2的代码。据我所知,nVIDIA已经发布了OpenCL 1.2驱动程序。我已经安装了最新的CUDA工具包,即7.0版。但是,当我编译代码时,会出现以下错误:
Error 9 error LNK2001: unresolved external symbol clReleaseDevice C:\Users\???\Downloads\FireRaysSDK-1.0\FireRaysSDK-1.0\App\CLW64.lib(CLWParallelPrimitives.obj) App
Error 7 error LNK2001: unresolved external symbol clRetainDevice C:\Users\???\Downloads\FireRaysSDK-1.0\FireRaysSDK-1.0\App\CLW64.lib(CLWContext.obj) App之后,我从khronos网站下载OpenCL 1.2的头文件。现在,它编译了,但我要将unresolved external link用于这些函数,因为它们的实现不是在OpenCL.lib中。
有什么OpenCL.lib可以用来编译OpenCL 1.2代码吗?有任何方法从DLL文件中获取它们的实现吗?因为我知道,nvidia已经将OpenCL1.2支持添加到了它的驱动程序中。
发布于 2015-08-21 17:27:47
您是正确的,NVIDIA现在在其最新的驱动程序中提供了OpenCL 1.2支持,但是CUDA7.0SDK是在这些驱动程序发布之前发布的,因此可能不包含OpenCL 1.2Header或库。我刚刚检查了CUDA 7.5发布候选版本,它似乎附带了您需要的OpenCL 1.2库。
您可以链接到任何OpenCL 1.2库,并且它应该与NVIDA的驱动程序一起工作。您应该能够从AMD或英特尔安装SDK,或者下载并构建OpenCL 1.2直接来自Khronos的可安装客户端驱动程序。
https://stackoverflow.com/questions/32145522
复制相似问题