1

我使用 SDL 框架设置了我的应用程序,它可以正常工作。但是当我尝试启动我的程序时,它会立即终止,甚至在进入我的简单 main 方法之前。这里的代码:

#include "CApp.h"
#include <iostream>

int main(int argc, char* argv[]) {
    std::cout << "Hello";  
    return 0;
}

我知道 SDL 在 SDLMain.m 中实现了自己的 main 函数,并手动启动了我的 main 函数。我认为我在 STLMain.m 中找到了执行我的主要功能的代码(第 222 行):

/* Create SDLMain and make it the app delegate */
sdlMain = [[SDLMain alloc] init];
[NSApp setDelegate:sdlMain];

/* Start the main event loop */
[NSApp run];

当我设置断点[NSApp run]并向前迈出一步时,程序终止。

4

1 回答 1

3

SDL#definemain为了SDL_main透明地使用它自己的main实现。由于您没有包含任何 SDL 标头,因此范围内没有该宏。它应该可以简单地将您重命名mainSDL_main或包含一个 SDL 标头,例如SDL.h.

于 2013-08-09T06:06:54.603 回答