我使用SDL Framework设置了应用程序,它可以正常运行而没有任何错误。
但是,当我尝试启动程序时,即使在输入简单的main方法之前,程序也会立即终止。这里的代码:
#include "CApp.h"
#include <iostream>
int main(int argc, char* argv[]) {
std::cout << "Hello";
return 0;
}
我知道SDL在SDLMain.m中实现了自己的主要功能,并手动启动了我的主要功能。我认为我在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]
上设置断点并向前移动时,程序终止。 最佳答案
SDL #define
的main
转换为SDL_main
,以便透明地使用其自己的main
实现。由于您未包含任何SDL header ,因此您的范围内没有该宏。它应该可以简单地将main
重命名为SDL_main
或包含SDL header (例如SDL.h
)。