我正在开发一些游戏代码,它在 windows 和 mac 上都可以正常工作。声音也很完美。我为此使用 OpenAL。
最近我从 Creative Labs 安装了 OpenAL OSX 安装程序。它已经覆盖了我原来的 Apple OpenAL 框架,现在我的项目将不再编译(链接器错误、错误的架构和类似的东西)。
真正的问题是:我可以修复它吗?我可以找到原始的 Apple OpenAL 框架来替换我系统上的那个吗?如果没有,有人会好心地将文件发送给我以便可以将它们放回(如果可能的话)?
我正在开发一些游戏代码,它在 windows 和 mac 上都可以正常工作。声音也很完美。我为此使用 OpenAL。
最近我从 Creative Labs 安装了 OpenAL OSX 安装程序。它已经覆盖了我原来的 Apple OpenAL 框架,现在我的项目将不再编译(链接器错误、错误的架构和类似的东西)。
真正的问题是:我可以修复它吗?我可以找到原始的 Apple OpenAL 框架来替换我系统上的那个吗?如果没有,有人会好心地将文件发送给我以便可以将它们放回(如果可能的话)?
在尝试了几乎所有除了重新安装完整的操作系统(我重新安装了 lion 升级,我重新安装了 xcode,手动删除了东西......)之后,我发现被创意安装程序覆盖的框架是位于 /Library 中的框架/Frameworks 而不是 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks 中的那个
我以为它们是符号链接的,但事实并非如此。所以我只是将 10.7sdk 中的那个复制到 /Library/Frameworks 中的那个,然后一切都重新构建了!
最奇怪的是,如果在我的项目中,我右键单击“链接框架和库”列表中的 OpenAL 框架,然后选择“在 Finder 中显示”,我确实被重定向到了 sdk,但 xcode 没有似乎使用它,因为当我从 /Library/Frameworks 中删除 OpenAL.framework 时,xcode 将框架显示为红色并且不会构建。所以 xcode 告诉我它使用 sdk 文件夹中的那个,但实际上使用的是 /Library/Frameworks 中的那个。
我在其他论坛上读过(关于其他平台,如 iPhone 和其他东西),人们对此有疑问。XCode 告诉他们他们正在使用 iPhone sdk 中的框架,但实际上他们正在使用 /Library/Frameworks 中的框架。
所以这一定是xcode中的一个错误。
无论如何...解决了!
将框架添加到您的项目中。您包含文件以便编译,但您必须指定要链接的框架。它在 /System/Library/Frameworks/ 中。