问题
I am developing some game code and it works fine on both windows and mac. Also the sound worked perfectly. I use OpenAL for it.
Recently I installed the OpenAL OSX installer from Creative Labs. It has overwritten my original Apple OpenAL framework and now my project won't compile anymore (linker errors, wrong architecture and stuff like that).
The real question is: can I repair it? Can I find the original Apple OpenAL framework to replace the one on my system? And if not, would someone be so kind to send me the files so that can put them back (if that is even possible)?
回答1:
After having tried almost everything except for reinstalling the complete os (I reinstalled the lion upgrade, I reinstalled xcode, removed things by hand, ...), I found out that the framework overwritten by the creative installer was the one located in /Library/Frameworks and not the one in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks
I thought they were symlinked, but they aren't. So I just copied the one in the 10.7sdk over the one in /Library/Frameworks and everything builds again!
The strangest thing is, that if in my project, I right click on the OpenAL framework in the "Linked frameworks and libraries" list, and I select "Show in Finder", I do get redirected to the sdk, but xcode doesn't seem to use it because when I deleted OpenAL.framework from /Library/Frameworks, xcode showed the framework in red and wouldn't build. So xcode tells me it uses the one in the sdk folder, but is actually using the one in /Library/Frameworks.
I have read on other forums (about other platforms like iPhone and stuff), that people have problems with that. XCode tells them that they are using the framework in the iPhone sdk but actually they are using the one in /Library/Frameworks.
So this must be a bug in xcode.
Anyway... SOLVED!
回答2:
Add the framework to your project. You're including the files so it compiles, but you have to specify which frameworks to link against. It's in /System/Library/Frameworks/.
来源:https://stackoverflow.com/questions/10536001/my-openal-framework-is-broken-how-can-i-fix-it-osx-lion