build errors with openCL

Hi all,

I am an XCode user trying to compile the openCL particle example included with MSAopenCL (https://github.com/memo/msalibs/tree/ma-…-0particles)
and/or the example that it is based on (http://code.google.com/p/ruisource/downloads/detail?name=opencl%20particles%20001b.zip&can=2&q=)

in both cases I imported the src and data folders along with OpenCL.framework into the emptyExample that is included with OF. I even added “/developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks” to Framework search paths in my project settings for all configurations.

Nevertheless I get the following errors:

[WARN]warning: no rule to process file ‘$(PROJECT_DIR)/bin/data/MyProgram.cl’ of type sourcecode.opencl for architecture i386
[WARN]warning: no rule to process file ‘$(PROJECT_DIR)/bin/data/MyProgram.cl’ of type sourcecode.opencl for architecture ppc
[WARN]Warning: The Copy Files build phase contains this target’s Info.plist file ‘openFrameworks-Info.plist’.

and

ld: warning: in /developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenCL.framework/OpenCL, missing required architecture ppc in file
Undefined symbols:
“_clReleaseCommandQueue”, referenced from:
ofxOpenCL::~ofxOpenCL()in ofxOpenCL.o
“_clEnqueueNDRangeKernel”, referenced from:
ofxOpenCLKernel::run(int, int, int)in ofxOpenCLKernel.o
ofxOpenCLKernel::run(int, int, int)in ofxOpenCLKernel.o
“_clEnqueueWriteBuffer”, referenced from:
ofxOpenCL::writeBuffer(int, _cl_mem*, void*, bool)in ofxOpenCL.o
“_clCreateBuffer”, referenced from:
ofxOpenCL::createBuffer(int, unsigned long long, void*, bool)in ofxOpenCL.o
“_clEnqueueReadBuffer”, referenced from:
ofxOpenCL::readBuffer(int, _cl_mem*, void*, bool)in ofxOpenCL.o
“_clCreateProgramWithSource”, referenced from:
ofxOpenCLProgram::loadFromSource(std::basic_string<char, std::char_traits, std::allocator >)in ofxOpenCLProgram.o
“_clCreateCommandQueue”, referenced from:
ofxOpenCL::setup(int) in ofxOpenCL.o
“_clCreateKernel”, referenced from:
ofxOpenCLProgram::loadKernel(std::basic_string<char, std::char_traits, std::allocator >)in ofxOpenCLProgram.o
“_clReleaseContext”, referenced from:
ofxOpenCL::~ofxOpenCL()in ofxOpenCL.o
“_clGetProgramBuildInfo”, referenced from:
ofxOpenCLProgram::loadFromSource(std::basic_string<char, std::char_traits, std::allocator >)in ofxOpenCLProgram.o
“_clGetDeviceIDs”, referenced from:
ofxOpenCL::setup(int) in ofxOpenCL.o
“_clSetKernelArg”, referenced from:
void ofxOpenCLKernel::setArg(int, float&)in testApp.o
void ofxOpenCLKernel::setArg<_cl_mem*>(int, _cl_mem*&)in testApp.o
void ofxOpenCLKernel::setArg(int, int&)in testApp.o
“_clReleaseKernel”, referenced from:
ofxOpenCLKernel::~ofxOpenCLKernel()in ofxOpenCLKernel.o
“_clCreateContext”, referenced from:
ofxOpenCL::setup(int) in ofxOpenCL.o
“_clFinish”, referenced from:
ofxOpenCL::finish() in ofxOpenCL.o
ofxOpenCL::~ofxOpenCL()in ofxOpenCL.o
“_clGetDeviceInfo”, referenced from:
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
ofxOpenCL::setup(int) in ofxOpenCL.o
“_clBuildProgram”, referenced from:
ofxOpenCLProgram::loadFromSource(std::basic_string<char, std::char_traits, std::allocator >)in ofxOpenCLProgram.o
“_clReleaseMemObject”, referenced from:
ofxOpenCL::~ofxOpenCL()in ofxOpenCL.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

please help. I have read all related posts ehxaustively!

thank you

I know it’s a bit late, but for next people.
You just need to add the openCL.framework (which is in /System/library/frameworks) to your xcode project (into framework/system framework for example)