2009-10-22 2 views
3

Я получаю мокрые ноги от OpenCL. Однако я уверен, что эта проблема не специфична для OpenCL.Как получить компоновщик в gcc для распознавания функций библиотеки OpenCL?

верхняя часть моего основного файла выглядит следующим образом:

#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
#include <OpenCL/opencl.h> 

// some code 

cl_device_id device_id; //declaring a device id gives no errors 

int err = clGetDeviceIDs(NULL, CL_DEVICE_TYPE_GPU, 1, &device_id, NULL); 
//the above API call does give an error. 

Я делаю это на Snow Leopard. Я могу создавать и запускать примеры Apple с помощью XCode. Я также могу скомпилировать и запустить образец кода NVIDIA, запустив make.

Как правильно скомпилировать код без использования XCODE?

ответ

8
$ gcc -framework OpenCL hello.c 

и

$ gcc -framework opencl hello.c 

оба работают. Кто-нибудь хочет попробовать это в среде, отличной от OSX?

0

Я построил несколько простых примеров, используя Eclipse CDT. Мне нужно было также изменить #include <OpenCL/opencl.h> на #include <opencl.h> вне XCode и добавить -I /System/Library/Frameworks/OpenCL.framework/Headers (или что-то подобное).