RaspberryPi4でSDL2をインストールする
窓も出してみた。
成果物
情報源
- https://qiita.com/fireflower0/items/3a0e261af183fc389da5
- https://gist.github.com/Lokathor/e6fec720b722b8a6f78e399698cae6e4
- https://wiki.libsdl.org/APIByCategory
手順
sudo apt -y install libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libfreetype6 libfreetype6-dev
ソースコード
sdl2_hello.cpp
#include <SDL2/SDL.h> #include <stdio.h> #define SCREEN_WIDTH 640 #define SCREEN_HEIGHT 480 int main(int argc, char* args[]) { SDL_Window* window = NULL; SDL_Surface* screenSurface = NULL; if (SDL_Init(SDL_INIT_VIDEO) < 0) { fprintf(stderr, "could not initialize sdl2: %s\n", SDL_GetError()); return 1; } window = SDL_CreateWindow( "hello_sdl2", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN ); if (window == NULL) { fprintf(stderr, "could not create window: %s\n", SDL_GetError()); return 1; } 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; }
g++ -o sdl2_hello sdl2_hello.c `sdl2-config --cflags --libs`
白い画面が一瞬だけ出て消えた。2秒だけ待機するコードになっていた。イベントループがない簡単な実装。
所感
pyxelとは雲泥の差。makeしたくない。pythonでsdl2を使えないか。
対象環境
- Raspbierry pi 4 Model B
- Raspbian buster 10.0 2019-09-26 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux