在MacOS和其他平台上统一处理OpenCL的包含

时间:2014-04-11 15:03:11

标签: include opencl

在MacOS上我们使用:

#include <OpenCL/cl.h>

在其他平台上,比如Linux和Windows,我们会写

#include <CL/cl.h>

我的问题是如何统一处理这些问题。我正在编写一组OpenCL内核,并希望将它们提供给其他人,而不是说“哦,如果你不使用MacOS,请将这些行更改为......” 可以在makefile中处理吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

处理此问题的常用方法是使用预处理器宏来检查您的代码是否在OS X上编译。例如:

#ifdef __APPLE__
#include <OpenCL/opencl.h>
#else
#include <CL/cl.h>
#endif