在MacOS上我们使用:
#include <OpenCL/cl.h>
在其他平台上,比如Linux和Windows,我们会写
#include <CL/cl.h>
我的问题是如何统一处理这些问题。我正在编写一组OpenCL内核,并希望将它们提供给其他人,而不是说“哦,如果你不使用MacOS,请将这些行更改为......” 可以在makefile中处理吗?
谢谢!
答案 0 :(得分:3)
处理此问题的常用方法是使用预处理器宏来检查您的代码是否在OS X上编译。例如:
#ifdef __APPLE__
#include <OpenCL/opencl.h>
#else
#include <CL/cl.h>
#endif