SDL无法找到我的主要功能

时间:2013-08-09 05:46:32

标签: c++ macos sdl

我使用SDL Framework设置我的应用程序,它没有任何错误。 但是当我尝试启动我的程序时,它会立即终止,甚至在进入我的简单主方法之前。代码如下:

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

SDL #define s mainSDL_main,以便透明地使用自己的main实施。由于您没有包含任何SDL标头,因此您在范围内没有该宏。只需将main重命名为SDL_main或包含SDL.h等SDL标题即可。