zemi no hosoku

このページの読み方


WSL2を1にダウングレード

Windows PowerShell ISE を管理者で実行し、以下のコマンドを入力し実行する (参考サイト)
  
  wsl --set-version Ubuntu-20.04 1
  

Ubuntuのコンディションを整える

マシンを再起動した後、Ubuntu20.04 LTS に以下のコマンドを入力し実行する
  
  $ sudo apt update
  $ sudo apt upgrade
  

SDL2をインストール

Ubuntu20.04 LTS に以下のコマンドを入力し実行する (参考サイト)
  
  $ sudo apt-get install mercurial
  $ hg clone https://hg.libsdl.org/SDL SDL
  $ cd SDL
  $ mkdir build
  $ cd build
  $ ../configure
  $ sudo apt install make
  $ make
  $ sudo make install
  

プログラムファイルの作成

作業用のディレクトリを作成、そのディレクトリの中に以下の内容のsample04.cファイルを作成 (参考サイト)
    
      #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_Renderer *renderer = 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( 
            "Hello SDL", 
            SDL_WINDOWPOS_UNDEFINED,
            SDL_WINDOWPOS_UNDEFINED,
            SCREEN_WIDTH, 
            SCREEN_HEIGHT,
            SDL_WINDOW_OPENGL
            ); 

            if( window==NULL ) {
              printf( "Window could not be created! SDL_Error: %s\n" , SDL_GetError() ); 
            
            } else {
              renderer=SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); 
              SDL_RenderClear(renderer);
              SDL_RenderPresent(renderer); SDL_Delay(3000);
            }
        }
  
          SDL_DestroyRenderer(renderer);
          SDL_DestroyWindow(window);
  
          SDL_Quit();
  
          return 0;
    }
    
    

作業用ディレクトリに移動

homeディレクトリから直下のdemoという名前のディレクトリに移動する場合、以下のコマンドをUbuntu20.04 LTSに入力し実行する
  
  $ cd demo
  

コンパイルと実行

Ubuntu20.04 LTS に以下のコマンドを入力し実行する (参考サイト)
  
  $ gcc -g -o sample04 sample04.c `sdl2-config --cflags --libs` 
  $ ./sample04
  

発生している問題・エラー

  
  SDL could not initialize! SDL_Error: No available video device