Twitterで意気揚々とOpenGLでマイクラのクローン作ってやるぜって言ってたけど、シェーダーとかなんやら面倒くさくなってOpenSiv3dに逃げることにしました。
許して
今回はその逃げ場であるOpenSiv3dのインストールの備忘録となります。
環境はUbuntu 18.04となります。
インストール方法調べてるとUbuntuでのインストールに苦戦してる人が多かったので書き記すことにしました。
基本的にやったことは以下の通り
必要パッケージのインストール
これは普通にaptでインストールするだけ、自分がインストールしたのは以下のパッケージ
- libopenal-dev
- libgif-dev
- libwebp-dev
- libogg-dev
- libvorbis-dev
- libudev-dev
- libswresample-dev
- libturbojpeg0-dev
$ sudo apt install libopenal-dev libgif-dev libwebp-dev libogg-dev libvorbis-dev libudev-dev libswresample-dev libturbojpeg0-dev
これで必要なパッケージのインストールは完了
# OpenCV4の現在(2020/08/13)の最新版4.4.0のビルド
https://opencv.org/releases/から現在の最新版である4.4.0のソースをダウンロードしてunzipしておきます。
cmakeにちょっとしたオプションをつける以外は公式サイトに書いてあるインストール方法とほとんど変わりません。
まずはビルド用のディレクトリを作って・・・
$ cd opencv-4.4.0/ $ mkdir build && cd build/
cmakeを使ってビルドします。
ここでpkg-config
のオプションをつけといてください。
$ cmake -D CMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
あとは公式のインストール行程に従ってやっていくだけです。
$ make -j7 $ sudo make install
boostの現在の最新版のビルド
aptでインストールしてきたboostだとバージョンが古く、Siv3Dをビルドする途中でboost/geometry/algorithms/densify.hpp
がないと怒られてしまいます。
aptでインストールしてきたboostは1.65.1で、Siv3Dが要求するdensifyは1.67.0で追加されているものでした。
そのため最新版をビルドします。
これはboostの日本語情報サイトに情報があるので、こちらに書いてある行程に従ってインストールしていきます。
$ git clone --recursive https://github.com/boostorg/boost.git $ cd boost $ ./bootstrap.sh $ ./b2 install -j2 --prefix=/usr/local
これで/usr/localにboostの最新版が入りました。
OpenSiv3Dのインストール
ここまで来ればあとは公式のREADMEに従ってインストールするだけです。
OpenSiv3D/README_JP.md at master · Siv3D/OpenSiv3D · GitHub
$ git clone https://github.com/Siv3D/OpenSiv3D.git $ cd OpenSiv3D $ mkdir Linux/Build $ cd Linux/Build
公式はninjaというビルドツール使ってますが、まあmakeでも大丈夫なので私はmake使いました。
$ cmake -DCMAKE_BUILD_TYPE=Release .. $ make
これでlibSiv3D.a
が生成されればOKです。
動作テストをしたければOpenSiv3D/Linux/Appの方に移動してサンプルをビルドします。
$ cd ../App/ $ cmake . $ make $ ./Siv3D_App
Siv3Dキター!!! pic.twitter.com/LbWI76DbhH
— 社会不適合性降下物 (@ABC10946) 2020年8月13日
libSiv3D.a
は他のプロジェクトでも使えるように/opt/OpenSiv3D/Linux
などのディレクトリを作ってそこにコピーしておきましょう。