SDLはOpenGLとDirect3Dを経由して、オーディオ、キーボード、マウス、ジョイスティック、およびグラフィックス・ハードウェアへの低レベルアクセスを提供するために設計されたクロスプラットフォーム開発ライブラリで、 Windows、Mac OS X、Linux、iOS、Androidをサポートしています。 SDLはCで書かれており、C++でネイティブに動作しその他の言語とバインディングが可能です。 ライセンス形態はzlibライセンス。
SDLを使ったアプリケーション開発ができるようになれば、例えばRaspberry Piに小さな液晶パネルを取り付けた機動性の高いアプリケーションを開発することができてモノづくりの幅も広がりそうです。
UbuntuでSDLを使うための方法を簡単に紹介します。Ubuntu 16.0.4LTSを対象に書きます。
SDL 2.0のソースコードのリポジトリはmercurialで管理されています。ソースコードをクローンするにはmercurialがインストールされている必要がありますので、もしインストールされていなければ次のコマンドでmercurialをインストールします。
$ sudo apt-get install mercurial
カレントディレクトリにリポジトリからソースコードをSDLという名前でクローンします。
$ hg clone https://hg.libsdl.org/SDL SDL
$ cd SDL
$ mkdir build
$ cd build
$ ../configure
$ make
$ sudo make install
Eclipse CDTを使って簡単なプログラムを書いてみます。 SDLプログラミングの[チュートリアルがここにある](http://lazyfoo.net/tutorials/SDL/index.php#Hello SDL)のでそれを参考にやってみました。なかなか親切なチュートリアルだという感じがします。
新規C++プロジェクトを作成してヘッダーファイルのインクルード設定とライブラリのリンク設定を行います。
インクルード設定
スクリーンショットではGCCのIncludes設定になっていますが、G++のIncludes設定を行ってください
リンク設定
チュートリアルの[Lesson 2](http://lazyfoo.net/tutorials/SDL/index.php#Hello SDL)をやってみます。コードと解説はチュートリアルの方を見てください。
コンパイルして実行するとこのようなウィンドウが開くはずです。
ほんの導入部を紹介しただけですが、この後はチュートリアルを見ながら学習を進めていけば良いと思います。
GCCでコンパイルするとSegmentation faultになります。G++でコンパイルされるようにソースコードはC++のソースコード (拡張子 .cpp)にしてください。