【发布时间】:2013-05-23 01:01:06
【问题描述】:
我们有一个fairly mature cross-platform game engine,我们已经在 OSX 上运行了好几年了。我们最近将游戏从 SDL 1.2.15 升级到 2.0,在转换的某个时刻,我搞砸了一些事情,现在我们遇到了一个奇怪的问题,即应用程序从终端启动得很好,但是当您从在 Finder 中双击,它只会在 Dock 中弹跳一次,然后就消失了。
我们感到困惑,因为据我所知,Console.app 中只打印了一行:Exited with code: 255(从终端自然运行在这里没有帮助,因为我们无法在那里重现问题; 应用程序在终端中启动时运行良好)。
所以我们唯一能想到的是,它要么是我们在 main.cpp 中搞砸的东西,要么是我们在设置 dylibs/frameworks 时使用的东西。这也可能与工作目录设置不正确有关,但尽我所能,我相信我们做得对(无论您当前的工作目录如何;该应用程序试图强行将所述目录设置为位于 Resources 文件夹中 - 这是启动游戏所必需的,但我不知道我们是否做错了)。对于stackoverflow来说,这感觉有点尴尬,对此我深表歉意,因为这不是一个简单的“粘贴这段代码并询问有什么问题”的工作。我有两种方法让你重现它;首先,我们是一个开源项目,您可以获得我们的源代码(完整的 mac 项目文件和 repo 中包含的所有依赖项,完全按照我可能错误地创建它们的方式进行设置和准备), at our github page。您需要做的一项更改是在根级别打开一个名为master-config.cfg 的文件,并从中删除// cmets(这样引擎就知道您要启动引擎附带的简单演示游戏) .
或者,我有一个精简(约 15mb 压缩)binary you can directly download 并尝试运行,如果这足以诊断问题。
如前所述,我们是开源的,所以我们欢迎任何修复请求!
【问题讨论】:
标签: macos opengl shared-libraries sdl