C SDL2编译但不';不要打开窗户

C SDL2编译但不';不要打开窗户,c,eclipse,macos,sdl-2,C,Eclipse,Macos,Sdl 2,我正试图在Mac上的Eclipse上设置一个SDL2项目 我尝试了以下代码,没有报告任何错误。但是,该窗口不会打开,但会打开“ghost”程序的图标 “幽灵”计划: #包括 #包括 int main(int argc,字符**argv) { 如果(SDL_Init(SDL_Init_视频)!=0) { fprintf(标准输出,“未能初始化SDL(%s)\n”,SDL_GetError()); 返回-1; } { SDL_窗口*pWindow=NULL; pWindow=SDL_CreateW

我正试图在Mac上的Eclipse上设置一个SDL2项目

我尝试了以下代码,没有报告任何错误。但是,该窗口不会打开,但会打开“ghost”程序的图标

“幽灵”计划:

#包括
#包括
int main(int argc,字符**argv)
{
如果(SDL_Init(SDL_Init_视频)!=0)
{
fprintf(标准输出,“未能初始化SDL(%s)\n”,SDL_GetError());
返回-1;
}
{
SDL_窗口*pWindow=NULL;
pWindow=SDL_CreateWindow(“我的第一个SDL2应用程序”,SDL_WINDOWPOS_未定义,
SDL_窗口位置未定义,
640,
480,
SDL_窗口(如图所示);
if(pWindow)
{
SDL_延迟(3000);
SDL_窗口(pWindow);
}
其他的
{
fprintf(stderr,“创建窗口时出错:%s\n”,SDL_GetError());
}
}
SDL_退出();
返回0;
}

SDL覆盖main,但它希望将main声明为

int main(int argc, char* argv[])
如果将其声明为char**而不是char*argv[],则不会拾取模板

延迟不会有多大作用:你只会得到一个标题和一帧。将SDL_延迟更改为如下事件处理程序

bool running = true;
while (running)
{
    SDL_Event e;
    while (SDL_PollEvent(&e) != 0)
    {
        if (e.type == SDL_QUIT)
        {
            running = false;
            break;
        }
    }
 }

然后可以拖动窗口。它将包含背景信息。

SDL覆盖main,但它希望main声明为

int main(int argc, char* argv[])
如果将其声明为char**而不是char*argv[],则不会拾取模板

延迟不会有多大作用:你只会得到一个标题和一帧。将SDL_延迟更改为如下事件处理程序

bool running = true;
while (running)
{
    SDL_Event e;
    while (SDL_PollEvent(&e) != 0)
    {
        if (e.type == SDL_QUIT)
        {
            running = false;
            break;
        }
    }
 }
然后可以拖动窗口。它将包含背景