OpenSiv3D 0.6.3 インストールメモ
code:bash
$ sudo pacman -S git cmake ninja alsa-lib ffmpeg gtk3 libcgif glu harfbuzz mpg123 opencv opus opusfile soundtouch libtiff libjpeg-turbo libvorbis libwebp libxft
$ cd opensiv3d/Linux
$ mkdir build && cd build
$ cmake -GNinja ..
$ ninja
大量にエラーが出るので、とりあえずninja -k 8192でエラーが出ても中断しないようにして完走させる
boost関連の大量のエラー
boostバージョンが違う(それはそう)
0.6.3は1.71.0〜1.73.0を要求する
1.73.0がなかったので1.72.0
バージョンを変えても、bimapのエラーが消えない
なんか今のUbuntuリポジトリ、libboost-devは1.74らしいんですけど・・・
エラー消えた
TOMLReaderのnumeric_limitsでエラー
src/ThirdParty/cpptoml/cpptoml.hでlimits.hをインクルード
音声周りもエラーが出ている
avcodec_send_packetが存在しないというエラー
src/SIv3D-Platform/Linux/Siv3D/AudioCodec/CAudioCodec.cppで、extern "C"部分に追加:# include <libavcodec/avcodec.h>
avcodec_find_decoderで型に関するエラー?
AVCodec* に const AVCodec* を代入しようとしているため
4.3.2を入れてみる
ffmpeg-2_4.3.2-6-x86_64.pkg.tar.zstをダウンロード
libvpx.so=6-64、libx264.so=161-64が必要らしい
コンフリクトしかしない 他のパッケージも依存しているffmpegのダウングレードなので、それはそう
ffmpeg4.4とかいうピッタリなパッケージがあった あったけど明示的にこれを使わせる方法がわからない
そもそもこれが指定されてるのはcmake内だから、CMakeListsをいじれば良さそう
libavformatとかが指定されてるのはpkg_check_modulesの中 この関数はpkg-configを呼んでるらしい
PKG_CONFIG_PATHを指定することで、探索するパスを変えることができる
ということで、cmake時にPKG_CONFIG_PATH=/usr/lib/ffmpeg4.4/pkgconfig cmake -GNinja .. すればヨシ!
サンプルをビルドしてみる
code:bash
cd ../App
cp ../../WindowsDesktop/Main.cpp .
mkdir build && cd build
cmake -GNinja ..
ninja
Linuxのデフォルトサンプルはすぐ終了するらしいので、WindowsDesktop(macOSでも🉑)ディレクトリからサンプルプログラムを持ってくる
なんとかなりましたとさ
おしまい