OpenCL C / C ++动态绑定库(win32及更多)

我正在尝试使用OpenCL,为了将其投入生产,我希望能够动态绑定到OpenCL.DLL(在Windows下),以便在没有OpenCL的情况下“优雅地”处理安装在主机上。

是否有任何可用的库(或代码片段)在C或C ++中处理这种动态绑定,就像GLEW对OpenGL一样? 我想避免自己做这件事的麻烦。

谢谢,

由于您正在处理Win32,最简单的解决方案是延迟加载。 如果你延迟加载OpenCL,并且编译器添加的存根无法找到它,它将调用__pfnDliFailureHook2(dliFailLoadLib) 。 你可以在那里处理错误; 如果你不提供处理程序,你将获得默认行为(程序中止)。 在任何一种情况下,程序都不会对OpenCL产生静态依赖。