2017-06-15 6 views
0

は、私はこのエラーを取得する「場合は、」:SDLアプリケーションエラー:予想される修飾されていない-IDの前に、私は、このSDLコードをコンパイルするとき

SDL_DEV.cpp:60:2: error: expected unqualified-id before ‘if’ 


if(SDL_Init(SDL_INIT_VIDEO) < 0) 
^
SDL_DEV.cpp:64:2: error: expected unqualified-id before ‘else’ 
    else 
^
Makefile:21: recipe for target 'all' failed 
make: *** [all] Error 1 

(私はSDL 2.0.5インストールされたLinuxのミントのG ++でこれをコンパイルしています)

は、ここで私はこのエラーを取得していますなぜ私は別のマシンで前にそれをコンパイルしているので、私は、理解していない、完全なソースコード

#include <SDL2/SDL.h> 
#include <stdio.h> 


const int SCREEN_WIDTH = 640; 
const int SCREEN_HEIGHT = 480; 

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

    SDL_Window* window = NULL; 


    SDL_Surface* screenSurface = NULL; 


    if(SDL_Init(SDL_INIT_VIDEO) < 0) 
    { 
     printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); 
    } 
    else 
    { 

     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 
     { 

      screenSurface = SDL_GetWindowSurface(window); 


      SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF)); 


      SDL_UpdateWindowSurface(window); 


      SDL_Delay(2000); 
     } 
    } 


    SDL_DestroyWindow(window); 


    SDL_Quit(); 

    return 0; 
} 
    SDL_Window* window = NULL; 


    SDL_Surface* screenSurface = NULL; 


    if(SDL_Init(SDL_INIT_VIDEO) < 0) 
    { 
     printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); 
    } 
    else 
    { 

     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 
     { 

      screenSurface = SDL_GetWindowSurface(window); 


      SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF)); 


      SDL_UpdateWindowSurface(window); 


      SDL_Delay(2000); 
     } 
    } 


    SDL_DestroyWindow(window); 


    SDL_Quit(); 

    return 0; 
} 

です。誰かがこの問題を理解するのを助けることができれば、私はとても幸せです。ありがとうございました。

+3

ええと、 'main'の後に全く同じコードがあります...' main'コンテンツを偶然にコピー&ペーストしましたか? – VTT

答えて

0

問題が解決しました。Windowsプラットフォームからコピーしたときに余分なコードが表示されていないようです。

関連する問題