【发布时间】:2012-04-25 00:19:34
【问题描述】:
我正在使用 SDL 的 Mac OS X 上构建游戏。但是,SDL.framework 表现出特殊的行为。
如果 /Library/Frameworks 以及应用程序包中存在 SDL.framework,GDB 会显示以下内容:
objc[40787]:类 SDLTranslatorResponder 在 /Users/Hinchy/Library/Developer/Xcode/DerivedData/Here_Comes_Launchman-abjymmujvjzdemcsrkkcmonahuva/Build/Products/Debug/Here Comes Launchman.app/Contents/MacOS/../ Frameworks/SDL.framework/Versions/A/SDL 和 /Library/Frameworks/SDL.framework/Versions/A/SDL。将使用两者之一。哪一个是未定义的。 objc [40787]:类 SDL_QuartzWindow 在 /Users/Hinchy/Library/Developer/Xcode/DerivedData/Here_Comes_Launchman-abjymmujvjzdemcsrkkcmonahuva/Build/Products/Debug/Here Comes Launchman.app/Contents/MacOS/../Frameworks/SDL 中实现.framework/Versions/A/SDL 和 /Library/Frameworks/SDL.framework/Versions/A/SDL。将使用两者之一。哪一个是未定义的。 objc[40787]:类 SDL_QuartzWindowDelegate 在 /Users/Hinchy/Library/Developer/Xcode/DerivedData/Here_Comes_Launchman-abjymmujvjzdemcsrkkcmonahuva/Build/Products/Debug/Here Comes Launchman.app/Contents/MacOS/../Frameworks/SDL 中实现.framework/Versions/A/SDL 和 /Library/Frameworks/SDL.framework/Versions/A/SDL。将使用两者之一。哪一个是未定义的。 objc[40787]:类 SDL_QuartzView 在 /Users/Hinchy/Library/Developer/Xcode/DerivedData/Here_Comes_Launchman-abjymmujvjzdemcsrkkcmonahuva/Build/Products/Debug/Here Comes Launchman.app/Contents/MacOS/../Frameworks/SDL 中实现.framework/Versions/A/SDL 和 /Library/Frameworks/SDL.framework/Versions/A/SDL。将使用两者之一。哪一个是未定义的。
然后游戏在第一个 SDL_PollEvent 处以 EXC_BAD_ACCESS 符号继续崩溃。
如果 SDL.framework 仅存在于应用程序包中(或根本不存在),则游戏根本拒绝启动。
如果 SDL.framework 仅存在于 /Library/Frameworks 中,则游戏可以正常运行。
这仅适用于 SDL.framework,而不适用于我在项目中使用的其他 SDL 衍生产品(SDL_image、SDL_mixer 等)。
【问题讨论】:
标签: xcode macos frameworks sdl