Как заставить компоновщик в gcc распознавать библиотечные функции OpenCL?

Я промокаю ноги с OpenCL. Однако я уверен, что эта проблема не специфична для 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?


person Derrick    schedule 22.10.2009    source источник


Ответы (2)


$ gcc -framework OpenCL hello.c

и

$ gcc -framework opencl hello.c

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

person Derrick    schedule 23.10.2009

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

person alexr    schedule 23.10.2009