无法在Mac OSX上设置OpenCL

3 c++ xcode opencl

所以我开始使用OpenCL但是无法使用Mavericks和C++主机在Air'13上工作.继承人的代码.

#include <iostream>
#include <vector>
#include "OpenCL/opencl.h"
int main()
{
    std::vector<cl::Platform> platforms;
    cl::Platform::get(&platforms);
    cl_int cl::Platform::get(&platforms);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试访问该cl::Platform库时,编译器(Xcode)抛出了Use of undeclared Identifier我尝试过的一些错误,主要是将头文件更改cl.h为OpenCL框架中的其他几个.如何让它工作,苹果网站声称Air支持OpenCL 1.2.

附录 - 什么是开始学习OpenCL的好书?

jpr*_*ice 11

您的代码段正在使用OpenCL C++绑定,这些绑定在与主OpenCL API(即C)不同的头文件中定义.cl.hpp默认情况下,您需要的头()不包含在OS X系统中,因此您必须直接从Khronos OpenCL注册表下载它(确保您获得1.2中列出的版本).然后,您只需要在代码中包含此标头.

推荐用于学习OpenCL的典型书籍是"OpenCL编程指南(Munshi,Gaster,Mattson,Fung,Ginsberg)"和"使用OpenCL的异构计算(Gaster,Howes,Kaeli)".网上还有很多免费的教程资料,比如Github上Hands-on OpenCL教程.