OpenSiv3DをLinuxMintで動かそうとした話

WatasukeRoom OpenSiv3D

!注意! 失敗しています 紹介しているやり方を真似しても(おそらく)出来ません
LinuxでOpenSiv3D開発をしたい場合はArch LinuxやAlter Linuxを使いましょう

(Arch系でのビルド方法はこちら)

ArchLinuxでOpenSiv3Dをビルドする方法
最近、Linuxのデスクトップ環境、「KDE」にハマってて、Windowsから乗り換えたいくらい気に入っています。 Linuxに環境変更する上で、避けては通れないのが「WindowsでしていたことをLinuxでできるかどうか」。 ...

こんにちは。なぜだかいきなりLinuxを触りたくなったわたすけです。

さて、Linuxを使うにあたり、超えるべき点はなんといってもWindowsでできることがLinuxでできるかどうか。

その一環として、Linux版OpenSiv3Dに挑戦したので、記録を残しておきます。


諸情報

日付:2019年12月
OpenSiv3D最新バージョン:0.4.2
使用OS:Linux Mint 19 Tara

ライブラリの準備

検索してみたところ、ArchLinuxでの使用方法しか書いてない!

ということで、もちろんMintはArchLinuxとパッケージ(?)の管理方法や提供パッケージに違いがあるため、ライブラリのインストールコマンドをそのまま使うことが出来ず、大苦戦。一番苦労した・・・

LinuxMintはUbuntu派生ということで、幸い発見したUbuntuパッケージ検索サイトを利用してそれっぽいものをダウンロードできた。

パッケージインストールのコマンド
sudo apt install libx11-dev libxi-dev libxinerama-dev libxcursor-dev libxran  libghc-opengl-dev libpng-dev libjpeg-turbo8-dev libgif-dev libwebp-dev libfreetype6-dev libharfbuzz-dev libopenal-dev libogg-dev libvorbis-dev libboost-all-dev libdbus-glib2.0-cil-dev udev libdlib-dev libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libturbojpeg

 

12/20追記:これでいいかも

sudo apt install gcc clang git cmake libx11-dev libxi-dev libxinerama-dev libxcursor-dev libxrandr-dev libjpeg-dev libpng-dev libgl1-mesa-dev libglu1-mesa-dev libglib2.0-dev libfreetype6-dev libturbojpeg-dev libopenal-dev libogg-dev libvorbis-dev libfontconfig-dev libudev-dev libboost-dev libboost-all-dev libglew-dev libbox2d-dev libgif-dev libopencv-dev

だれか訂正してください(でもなんやかんやでパッケージ不足のエラーは出てないから大丈夫?)


これが終わったら、apt installではどうしようもない他のライブラリをインストールする。

AngelScript

ややこしいので落ち着いてやりましょう。というかたぶん参考サイト見たほうがいい

ターミナル(端末)に、以下のコマンドを入力。

cd /opt
mkdir angelscript
cd angelscript
wget https://www.angelcode.com/angelscript/sdk/files/angelscript_2.32.0.zip
unzip -d 2.32.0 angelscript_2.32.0.zip
cd 2.32.0/sdk/angelscript
sudo vim Makefile

そうしたら、Vim(VimでもEmacsでもなんでもいいです)が起動するので、以下の参考サイトから完全引用しただけのMakefileを貼り付ける。

※タブを入力出来なかったので、タブの部分を 3 に置き換えました。置き換えとかなんとか使って絶対にタブに置き換え直してください。

Makefile

TARGET := lib/libangelscript.a
SRCDIR := source
OUTDIR := bin
INCDIR := include
TARGET := $(TARGET)
HDRS := $(wildcard $(INCDIR)/*.h)
OBJS := $(addprefix $(OUTDIR)/,$(patsubst %.cpp,%.o,$(wildcard $(SRCDIR)/*.cpp)))
DEPS := $(OBJS:%.o=%.d)
#$(warning $(OBJS))

CC = g++
CFLAGS = \
3-std=c++1z \
3-Wall \
3-Wextra \
3-Wpedantic \
3-O2 \
3-fPIC \
3-I $(INCDIR) \
3-I $(SRCDIR)

.PHONY: all clean
all: $(TARGET)

#-include $(DEPS)

$(TARGET): $(OBJS)
3ar -rcs $@ $^

$(OUTDIR)/%.o:%.cpp $(HDRS)
3@if [ ! -e `dirname $@` ]; then mkdir -p `dirname $@`; fi
3rm -f $@
3$(CC) $(CFLAGS) -o $@ -c $<

clean:
3rm -rf $(OUTDIR)
3rm -rf $(TARGET)

これが終わったら、$ make して、lib/libangelscript.a が生成されているのを確かめれば、終わり!

OpenCV

OpenCVは思ったより簡単でした。

wget –no-check-certificate https://raw.githubusercontent.com/milq/milq/master/scripts/bash/install-opencv.sh
chmod +x install-opencv.sh
sudo ./install-opencv.sh

これを実行するだけでいいらしい。

OpenSiv3Dのビルド

参考サイトほぼ丸パクリしました

git clone https://github.com/Siv3D/OpenSiv3D.git
cd OpenSiv3D
git checkout Linux
cd Linux
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..

そうすると、Makefileが生成されるので、それを開いて

「LIBS := /opt/OpenSiv3D/Linux/libSiv3D.a」

となっているところを

「LIBS := /opt/OpenSiv3D/Linux/libSiv3D.a /opt/angelscript/2.32.0/sdk/angelscript/lib/libangelscript.a」

に変更する。

これで、$make をすると、Opensiv3d/Linux/BuildにlibSiv3D.aが生成される・・・

されなかった

失敗

「No package ‘opencv4’ found」と表示されてビルドできない!

「sudo apt install libopencv-dev」をしても変わらず・・・

 


そして挫折

諦めました。どうかコメントでアドバイスください。お願いします。

進み次第書き換え予定・・・

 

2020/04/14追記

コメント頂きました。OpenCVはこのサイト見たらどうにかなるらしいです。自分はUbuntu系に愛想を尽かしたのでがんばってください(?)

pkg-configを使ってg++でコンパイルできるようになるまで - Qiita
前回の続き前回のページはこちらこちらでは、opencv4.0をubuntu18.04(LTS)にインストールするまでをやりました今回やることpkg-configを使ってターミナル上でg++…

参考サイト

 

 

コメント

  1. bird より:
タイトルとURLをコピーしました