zemi no hosoku
このページの読み方
- nihongo ga okashii toki ha google-honyaku de eigo wo sentaku suru to naoru
- 各コードは左端の「Copy」ボタンでクリップボードにコピーできる。
- コマンドは一行づつ端末に入力して実行する。記号「$」はプロンプトを表している。「$」は入力しない。
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