LoginSignup
5
9

More than 5 years have passed since last update.

SDL - Simple DirectMedia Layer の初歩

Last updated at Posted at 2017-09-09

SDLはOpenGLとDirect3Dを経由して、オーディオ、キーボード、マウス、ジョイスティック、およびグラフィックス・ハードウェアへの低レベルアクセスを提供するために設計されたクロスプラットフォーム開発ライブラリで、
Windows、Mac OS X、Linux、iOS、Androidをサポートしています。
SDLはCで書かれており、C++でネイティブに動作しその他の言語とバインディングが可能です。
ライセンス形態はzlibライセンス。

SDLを使ったアプリケーション開発ができるようになれば、例えばRaspberry Piに小さな液晶パネルを取り付けた機動性の高いアプリケーションを開発することができてモノづくりの幅も広がりそうです。

今回、良いチュートリアルを見つけたのでその紹介です。プログラミングについてはチュートリアルの紹介に留めますので、詳細はチュートリアルを見てください。
Ubuntu 16.0.4LTSを対象に書きます。

SDLのインストール

SDL 2.0のソースコードのリポジトリはmercurialで管理されています。ソースコードをクローンするにはmercurialがインストールされている必要がありますので、もしインストールされていなければ次のコマンドでmercurialをインストールします。

$ sudo apt-get install mercurial

ソースコードのダウンロード

カレントディレクトリにリポジトリからソースコードをSDLという名前でクローンします。

$ hg clone https://hg.libsdl.org/SDL SDL

SDLのコンパイルとインストール

$ cd SDL
$ mkdir build
$ cd build
$ ../configure
$ make
$ sudo make install

入門プログラムの作成

Eclipse CDTを使って簡単なプログラムを書いてみます。
SDLプログラミングのチュートリアルを参考にして動作確認をしました。なかなか親切なチュートリアルだという感じがします。

Eclipse CDTでプロジェクトを作成

新規C++プロジェクトを作成してヘッダーファイルのインクルード設定とライブラリのリンク設定を行います。

インクルード設定

スクリーンショットではGCCのIncludes設定になっていますが、G++のIncludes設定を行ってください

リンク設定

ウィンドウを表示して画像表示

Lesson 02
の説明を読みながらチュートリアルコードを実行したところ。
このようなウィンドウが開くはずです。(画像ファイルだけ差し替えました)

ほんの導入部を紹介しただけですが、この後もチュートリアルを見ながら学習を進めていけば良いと思います。

GCCでコンパイルするとSegmentation faultになります。G++でコンパイルされるようにソースコードはC++のソースコード (拡張子 .cpp)にしてください。

https://github.com/kazz12211

5
9
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9