gpt4 book ai didi

macos - SDL-2:在 OS X 中运行 native cocoa 应用程序时出现问题

转载 作者:行者123 更新时间:2023-12-03 16:22:02 25 4
gpt4 key购买 nike

我很好奇是否有人可以帮助解决我遇到的问题。我刚刚从 Mercurial ( http://www.libsdl.org/hg.php ) 下载并安装了 SDL 2 框架及其附带的示例程序到 OSX Mavericks (10.9)。

我正在尝试在 Xcode 5.1.1 中运行示例 native cocoa 代码,其中包括文件 testnative.h , testnative.c ,和testnativecocoa.m来自 Mercurial 下载中的测试文件夹。

我成功地构建了程序,但是一旦它到达函数SDL_CreateWindowFrom(native_window) ,程序崩溃并突出显示名为 SDL_cocoakeyboard.m 的文件中的以下行:

 nswindow = ((SDL_WindowData*)window->driverdata)->nswindow;  Thread 1:EXC_BAD_ACCESS (code=1, address=0x8)

我对原始文件所做的唯一一件事就是将包含头从 SDL.h 更改为包含头文件。和SDL_syswm.hSDL2/SDL.hSDL2/SDL_syswm.htestnative.h 。我在程序中包含了 cocoa 和 SDL2 框架,并且关闭了自动引用计数,这是运行示例代码所必需的。

我不知道我还会在哪里出错,因为上述行之前的代码看起来并运行良好(它能够在崩溃之前创建 cocoa 窗口)。

对这个问题的任何见解都会很棒。提前致谢!

最佳答案

我在评论中错了,driverdatanull(从未初始化),需要像SDL_cocoawindow.m:SetupWindowData这样的代码,但 SetupWindowData静态(非全局),并且添加最小初始化需要 SDL_cocoawindow.h(但不是公开的)。

所以,我的猜测(也许我错了)这个 testnative 不起作用,至少在当前的 SDL2 中不起作用(错误的 #include 应该是符号),但快速查看 SDL2 发现有足够的 cocoa 代码,希望有其他方法可以让 native 窗口工作。

良好的开端 How to set up a SDL 2 project for OS X in Xcode 4

关于macos - SDL-2:在 OS X 中运行 native cocoa 应用程序时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23836698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com