開発環境を整える/Linuxでクロスビルド
Linuxでクロスビルド
通常のMinGWはLinuxでビルドに必要なコマンドをエミュレートしているためコンパイル速度が遅い。そこで、ここでは仮想環境でもいいのでLinuxマシンを用意し、MinGW Cross Environment(以下MXE)を用いた環境構築を行う。なお、ここで使用するLinuxはDebian系である。
MXEの環境を作る
まず、MXEの準備を行う。Gitをインストール。
sudo apt-get install git
インストールが終わったら、以下のコマンドでMXEを用意する。
git clone -b stable https://github.com/mxe/mxe.git
ダウンロードが完了したら以下のコマンドでMXEのビルドに必要なツールをインストールする。
apt-get install autoconf automake bash bison bzip2 \ cmake flex gettext git g++ intltool \ libffi-dev libtool libltdl-dev libssl-dev \ libxml-parser-perl make openssl patch perl \ pkg-config scons sed unzip wget xz-utils
次に、ビルドを行う。必要なライブラリごとにスペースで区切る。
make ffmpeg freetype jpeg libmad ogg libpng libsndfile speex vorbis libvpx x264 zziplib sdl sdl_net sdl_image sdl_ttf smpeg(以下略)
開発環境の構築は自動的に行なってくれるのでそのまましばらく待つ。(結構時間がかかります。)
AlephOneのビルド
AlephOneのディレクトリに行き、以下のシェルスクリプト mxe-build.sh
を作成する。
#!/bin/sh PREFIX=/home/ユーザ名/mxe/usr TARGET=i686-pc-mingw32 PATH="$PREFIX/bin:$PREFIX/$TARGET/bin:$PATH" if [ -f "$PREFIX/$TARGET/bin/$TARGET-sdl-config" ]; then SDL_CONFIG="$PREFIX/$TARGET/bin/$TARGET-sdl-config" export SDL_CONFIG fi export PATH LDFLAGS=-Wl,-S LIBS="-lfreetype -ltiff -ljpeg -lpng -lz -lbz2 -lstdc++ -lws2_32 -liphlpapi -liconv" ./configure --host=$TARGET --build=i386-linux --disable-vorbis --disable-smpeg --disable-mad
次に ./autogen.sh
を実行し、configureなどを生成する。
先ほど作成したmxe_build.shを実行し、Makefileを生成する。あとは、makeを実行するだけ。
Last Modified: 2014-01-14 17:55:24