SDL2窗口缺乏窗栏

问题描述:

SDL2窗口缺乏窗栏

我试图建立在OSX埃尔卡皮坦的SDL2应用程序,我遇到了在那里的门面没有出现问题。像退出按钮和调整大小栏的东西没有出现。我已经在Windows上编译过,并且在那里可以正常工作。

为了使它更容易一点这个链接懒Foo的教程复制问题:http://lazyfoo.net/tutorials/SDL/01_hello_SDL/index2.php

我make文件是非常简单的(我已经偷了它关闭他的网站也一样)

COMPILER_FLAGS = -w 

LINKER_FLAGS = -framework SDL2 

#OBJS specifies which files to compile as part of the project 
OBJS = main.c 
#CC specifies which compiler we're using 
CC = g++ 

OBJ_NAME = main 
#This is the target that compiles our executable 
all : $(OBJS) 
    $(CC) $(OBJS) $(INCLUDE_PATHS) $(LIBRARY_PATHS) $(COMPILER_FLAGS) $(LINKER_FLAGS) -o $(OBJ_NAME) 

如果有人知道我做错了什么,我很想知道。

更新:我掏出一台旧笔记本电脑,新鲜安装到埃尔卡皮坦,它有基于懒惰Foo代码相同的问题。

UPDATE:

/*This source code copyrighted by Lazy Foo' Productions (2004-2015) 
and may not be redistributed without written permission.*/ 

//Using SDL and standard IO 
#include <SDL.h> 
#include <stdio.h> 

//Screen dimension constants 
const int SCREEN_WIDTH = 640; 
const int SCREEN_HEIGHT = 480; 

int main(int argc, char* args[]) 
{ 
    //The window we'll be rendering to 
    SDL_Window* window = NULL; 

    //The surface contained by the window 
    SDL_Surface* screenSurface = NULL; 

    //Initialize SDL 
    if(SDL_Init(SDL_INIT_VIDEO) < 0) 
    { 
     printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); 
    } 
    else 
    { 
     //Create window 
     window = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN); 
     if(window == NULL) 
     { 
      printf("Window could not be created! SDL_Error: %s\n", SDL_GetError()); 
     } 
     else 
     { 
      //Get window surface 
      screenSurface = SDL_GetWindowSurface(window); 

      //Fill the surface white 
      SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF)); 

      //Update the surface 
      SDL_UpdateWindowSurface(window); 

      //Wait two seconds 
      SDL_Delay(2000); 
     } 
    } 

    //Destroy window 
    SDL_DestroyWindow(window); 

    //Quit SDL subsystems 
    SDL_Quit(); 

    return 0; 
} 
+0

你可以包含你的窗口创建代码吗? – martingrant

+0

我复制并粘贴了我之前分享的链接。这只是一个沼气标准开放窗口。 –

不知道的根本原因,但做一个循环,民意调查事件,似乎这样的伎俩。

bool loop = true; 
while(loop) 
{ 
    SDL_Event event; 
    while(SDL_PollEvent(&event)) 
    { 
     if(event.type == SDL_QUIT) 
     { 
      loop = false; 
     } 
    } 
} 
+0

我必须再次感谢你,我一直回到这里来了解我做错了什么! –