If you are having linker problems like:
ld warning: in /Library/Frameworks//OpenAL.framework/OpenAL, file is not of required architecture
Undefined symbols:
“_alSourcePlay”, referenced from:
SoundEngineEffect::Start() in SoundEngine.o
SoundEngineEffect::PlaybackProc(void*) in SoundEngine.o
Then the problem is that you have an OpenAL framework in /Library/Frameworks and XCode is looking there first.
The simple solution is to delete or rename it. But that’s not very useful if you need it for something else, or you want you code to compile for other people. So the correct solution is to change the Framework Search Path.
So, in Project -> Edit Project Settings select “All Configurations” and “All Settings”, then under Search Paths -> Framework Search Paths, add:
$SDKROOT/System/Library/Frameworks/
This will show up in the options as something like iphoneos2.2/System/Library/Frameworks/ (depending on the project setting, and at compile time will automatically switch to the correct framework for the target architecture (simulator or device) and OS version.