Mac SDL + OpenGL App拒绝从终端以外的任何东西发射

时间:2013-05-28 06:52:56

标签: macos opengl shared-libraries sdl

我们有一个fairly mature cross-platform game engine我们已经在OSX上运行了好几年了,现在顺便说一句;我们最近将游戏从SDL 1.2.15升级到2.0,并且在转换的某个时刻,我搞砸了一些东西,现在我们有一个奇怪的问题,即应用程序从终端启动得很好,但当你从一个启动应用程序时双击Finder,它只是在码头反弹一次然后消失。

我们感到困惑,因为只要我能说清楚,在Console.app中只打印一个单行程:Exited with code: 255(自然从终端运行在这里没有帮助,因为我们无法重现那里有问题;在终端上启动应用程序运行正常。)

所以我们唯一可以想到的是它是我们在main.cpp中搞砸的东西,或者是我在如何设置dylibs / frameworks时所做的事情。它也可能与工作目录没有正确设置有关,但是尽我所能,我相信我们做得对(无论你当前的工作目录如何;应用程序试图强制设置所说的目录到在Resources文件夹中 - 这是让游戏启动所必需的,但我不知道我们是否做错了)。这感觉就像stackoverflow有点尴尬,我为此道歉,因为它不是一个简单的“粘贴这段代码并且问什么是错的”工作。我有两种方法让你重现它;首先,我们是一个开源项目,你可以得到我们的源代码(包括一个mac项目文件和所有依赖项包含在repo中,设置和准备就绪,就像我可能错误地创建它们一样), at our github page。您需要做的一项更改是在根级别打开一个名为master-config.cfg的文件,并从中删除//条评论(因此引擎知道您要发布一个简单的演示游戏用引擎)。

或者,我有一个剥离(约15mb拉链)binary you can directly download并尝试运行,如果这足以诊断问题。

如前所述,我们是开源的,所以我们欢迎任何修复请求!

1 个答案:

答案 0 :(得分:0)

您需要编写一个最小的Cocoa包装器,以便OS X不会SIGKILL您没有正确启动。我会用这个包装器给你一个pull请求。