【Mac】SDL2のインストールとXcodeで設定【ゲーム制作】

C言語やC++の勉強が一通り終わって、さぁこれからゲーム制作で実践だ!と意気込んでいる人もいると思います。

早速コードを書いていきたいところですが、ゲームを作るには最初にライブラリをインストールすることになります。今回は、MacでのSDLライブラリのインストールとXcodeでのセットアップ方法を紹介します。

SDLのインストールは少しめんどくさいですが、この記事の通りにやってもらったらできます。(実際に僕がインストールして設定しています。)

SDL2のインストール

知らない人もいるかも知らないので、SDLについて簡単に説明しておきます。

SDLとは、画像や音声などのメディアを簡単に扱えるライブラリのことです。バージョン2.X.XはSDL2と言われています。

分かりやすく言うと、ゲーム制作に必要な関数詰合せセットみたいな感じです。これだけで、簡単なゲームが作れちゃいます。今回は、このセットをインストールしていきます。

SDLは、SDL2本体と補助ライブラリに分かれており、ゲーム制作には両方のインストールが必要になります。

Homebrewでインストール

ホームページからインストールしてもいいのですが、SDL2とその補助ライブラリは別でインストールしないといけません。

それはちょっとめんどくさいので、Macのターミナル(Homebrew)から一括でインストールします。

あらかじめHomebrewをターミナルで使えるようにしとく必要があるので、インストールしていない人はこちらの記事を参考にして下さい。

【Mac】Homebrewのインストールと使い方【パッケージ管理】

 

Homebrewを使えば、SDL2本体と補助ライブラリをコマンド一発でインストールすることができます。

brew install sdl2 sdl2_image sdl2_ttf sdl2_mixer sdl2_gfx sdl2_net

これをそのままコピペしてreturnキーを押せば勝手に全てインストールしてくれます。ターミナル最強!Homebrew最強!

SDLのインストール先

SDL2自体のヘッダーファイルは、「/usr/local/include/」の中にあります。Finderで見る場合は、「command+Shift+G」でパス入力欄が出るのでそれで検索すると「SDL2」のフォルダが見つかります。

 

補助ライブラリの方は、「/usr/local/Cellar/」の方にあります。こちらにも、sdl2というファイルがありますが、こちらはフレームワーク(必要なファイルがまとまったディレクトリ)となっています。

XcodeでのSDLの設定

SDLのインストール自体はできたので、次はXcodeで実行できるように設定していきます。

プロジェクトの作成

プロジェクトの作成は以前にこのブログでも解説しているので、そちらの記事を見て下さい。Xcodeのインストールから載せているので、まだインストールしていない人もどうぞ。

Xcodeのインストールと簡単な使い方

 

プロジェクトの設定ができたら次に進んで下さい。

ヘッダファイル検索パスの設定

ヘッダファイル検索パスっていうのは、ヘッダファイルの絶対パス(PC上の場所)のことです。C言語では、#include <stdio.h>として「stdio.h」というヘッダファイルを読み込んでいます。

今回使用するSDLライブラリというフレームワーク(必要なファイルが入ったディレクトリ)のヘッダファイルを読み込む必要があるので設定します。SDLのヘッダファイルは「SDL.h」です。

 

左側のプロジェクト→「Build Settings」→「Header Search Paths」と進みます。「Header Search Paths」は、検索窓で検索すると探しやすいです。

「Header Search Paths」と書いてある部分の右側付近をダブルクリックすると、「+」で追加できるようになります。そこに、「/usr/local/include」と入力します。

これで、#include <SDL2/SDL.h>としてヘッダファイルをインクルードすることができます。

SDL.hはSDL2というフォルダに入っているので、「Header Search Paths」を「/usr/local/include/SDL2」として#include <SDL.h>でインクルードしてもいいです。
フレームワークのヘッダの場合は、#include <header.h>であり、#include "header.h"ではないので注意。
補助ライブラリもインクルードが必要なのですが、ヘッダファイルの場所がSDL.hと違うので次回の記事で解説しています。

ライブラリの追加

ヘッダファイルの設定はできましたが、肝心のフレームワーク自体もリンクさせておかないといけないので、その設定をします。

 

今Build Settingのままだと思うので、その横の「Build Phases」選択します。そして、上から3つ目の「Link Binary With Libraries」をクリックして「+」を押します。

 

すると、色々なフレームワークが表示されますが、ここには補助ライブラリはないので「Add Other…」をクリックします。

 

ここで、Xcodeのアプリ内にFinderが出てきます。また、「command+Shift+G」で「/usr/local/Cellar/」と検索します。

 

「cellar」→「sdl2」→「2.0.10」(自分のインストールしたバージョン)→「lib」と進んでいきます。

div class="info1">sdl2を選択していますが、sdl2_gfxなども後で同じようにします。

「lib」の中にある「libSDL2-2.0.0.dylib」ファイルを選択します。レゴブロックみたいな画像が表示されるので分かりやすいと思います。

ただ、矢印がついているものはエイリアスと言ってショートカットなので間違えないように注意して下さい。

 

同様に、sdl2_gfx、sdl2_image、 sdl2_mixer 、sdl2_net、sdl2_ttfについても行います。

 

全てのフレームワークをリンクすることができたらSDLの初期設定は終わりです。これでSDLが使えるようになったので、プログラムを書いていくことができます。

動作の確認

実際に使うことができるのか確認をしてみます。以下のプログラムをコピペして実行して下さい。まだコードを見てもさっぱりだと思います笑

#include <stdio.h>
#include <SDL2/SDL.h>

int main(int argc,char *argv[]){
    int close=0;
    SDL_Init(SDL_INIT_VIDEO);
    
    SDL_Window *window = SDL_CreateWindow("WindowTest",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,640,480,0);
    
    while(close==0){
        SDL_Event event;
        while(SDL_PollEvent(&event)){
        }
        if(event.type==SDL_QUIT)
            close++;
    }
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 0;
}

すると、ウィンドウが表示されると思います。表示できていればSDL2本体の動作確認はできました。取り敢えずは成功です!お疲れ様でした。

補助ライブラリの動作確認は次回したいと思います。

 

プログラムを実行すると警告マークがでると思うのですが、今のところウィンドウが出てくれば大丈夫なので心配ないです。これに関しても、次回以降に対処していきます。

これから楽しいゲーム制作!

僕は苦労したというか手探りだったので時間がかかってしまいましたが、皆さんはスムーズにいけたんじゃないかと思います。

これからゲーム作りに励んでいきたいと思います。進捗状況は、Twitterとこのブログに書いていくので、よかったら見てみて下さい。あと、SDLは本やネットでもあまり情報が少ないので参考にしてもらえたらと思います。

コメント

タイトルとURLをコピーしました