2014-04-14 201 views
1

因此,我開始使用OpenCL,但無法在Mavericks和C++主機上使用Air'13。代碼如下: 無法在Mac OSX上設置OpenCL

#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); 
} 

當我嘗試訪問cl::Platform庫,編譯器(的Xcode)引發錯誤Use of undeclared Identifier我已經嘗試了幾件事情,主要是改變了頭文件cl.h和其他幾個人在OpenCL的框架。我如何才能使它工作,蘋果網站表示Air支持OpenCL 1.2。

附錄 - 什麼是開始學習OpenCL的好書?

回答

7

您的代碼片段正在使用OpenCL C++綁定,這些綁定在主OpenCL API(即C)的不同頭文件中定義。您需要的標頭(cl.hpp)默認不包含在OS X系統中,因此您必須直接從Khronos OpenCL Registry(請確保您獲得1.2中列出的版本)下載它。然後你只需要在你的代碼中包含這個頭文件。

推薦學習OpenCL的典型書籍是「OpenCL編程指南(Munshi,Gaster,Mattson,Fung,Ginsberg)」和「OpenCL(Gaster,Howes,Kaeli)的異構計算」。網上還有大量的免費教程資料,如Hands-on OpenCL tutorial on Github

+0

謝謝...完美的作品 – user3145076