SDL忽略我的主文件

时间:2012-09-24 18:07:26

标签: c++ c mingw sdl eclipse-cdt

我正在运行带有MinGW和SDL的Eclipse CDT 64位。我已经读过SDL“巧妙地”重新定义了主要方法,并且为了使用我自己的主要cpp,有时可以精确地添加#undef main。我已经完成了它,但是当我尝试运行我的应用程序时,我的主要是完全被忽略(为了实现这一点我设置了一些断点)。

我的主要方法是这样的:

#include "SDL/SDL.h"
#include "SDL/SDL_image.h"

#undef main

using namespace std;

int main(int argc, char* argv[])
{

    if (SDL_Init(SDL_INIT_EVERYTHING) == -1) {
        printf("Error: %s\n", SDL_GetError());
        return 1;
    }

        SDL_WM_SetCaption( "MarioKong", NULL );

我在项目属性上定义了MinGW C ++ Linker库,如下所示:mingw32,SDLMain,SDL,SDL_image。我遵循(lazyfoo

中所述的SDL安装说明

如何运行我的主文件?

1 个答案:

答案 0 :(得分:1)

重新定义main的巧妙方法是在所有平台上具有相同的主要功能,并且您可以在任何地方使用它。所以没有#ifdef win32 WinMain else main等。你可以在所有平台上平等使用命令行参数。所以我的建议是坚持使用" int main(int argc,char * argv [])"并且不要使用#undef主命令