Visual Studio 2015
ここ
からVisual Studio Community 2015を無料ダウンロードできます。
FFmpegからソースファイル ffmpeg-3.1.3.tar.bz2
MSYSからインストーラ MSYS-1.0.11.exe
YASMから実行ファイル yasm-1.3.0-win64.exe
SDLからソースファイル SDL-1.2.15.zip
(swf等を再生する場合) zlibからソースファイル zlib128.zip
(なくてもかまわない) coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2の中にある pr.exe
インストーラMSYS-1.0.11.exe
を実行し、インストールします。
この例では、デフォルトの C:\MSYS\1.0 にインストールしたとします。
SDL-1.2.15.zip
を任意の場所に展開します。
この例では、D:\ に展開し、D:\SDL-1.2.15 が得られたとします。
D:\SDL-1.2.15\VisualC\SDL.sln をVisual Studioで開きます。
コンフィグレーションをRelease, x64などと設定し、SDL, SDLmainをビルドします。
コンパイルされたdll,libと、includeファイルを任意の場所に配置します。
この例では、D:\SDL に配置することとします。
D:\SDL を作成し、D:\SDL-1.2.15\include をフォルダごとコピーします。
続いて、D:\SDL-1.2.15\VisualC\x64\Release より、SDL.lib を D:\SDL\lib に
D:\SDL-1.2.15\VisualC\SDLmain\x64\Release より、SDLmain.lib を D:\SDL\lib に
D:\SDL-1.2.15\VisualC\SDL\Release より、SDL.dll をD:\SDL にコピーします。
sdl-config を以下の内容で作成し、C:\MSYS\1.0\bin に配置します。
#! /bin/sh
SDL_MAJOR_VERSION=1
SDL_MINOR_VERSION=2
SDL_MICRO_VERSION=15
includedir='D:\\\\SDL\\\\include'
SDL_CFLAGS=
libdir='D:\\\\SDL\\\\lib'
SDL_RLD_FLAGS=
SDL_LIBS="-lSDL -lSDLmain"
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
while test $# -gt 0; do
case $1 in
--cflags)
echo -I"${includedir}" ${SDL_CFLAGS}
;;
--libs)
echo /LIBPATH:${libdir} ${SDL_RLD_FLAGS} ${SDL_LIBS}
;;
--version)
echo ${SDL_VERSION}
;;
esac
shift
done
zlib128.zip
を任意の場所に展開します。
この例では、D:\ に展開し、D:\zlib-1.2.8 が得られたとします。
VS2015 x64 Native Tools Command Prompt を開きます。 スタートメニューのVisual Studio 2015 の下にあります。
ディレクトリを移動し、コンパイルを行います。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC> d:
D:\> cd zlib-1.2.8
(アセンブラコードを使用する場合 64bit)
D:\zlib-1.2.8> nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
(アセンブラコードを使用しない場合)
D:\zlib-1.2.8> nmake -f win32/Makefile.msc
コンパイルされたdll,libと、includeファイルを任意の場所に配置します。
この例では、D:\zlib に配置することとします。
D:\zlib を作成し、D:\zlib\include D:\zlib\lib フォルダを作成します。
続いて、D:\zlib-1.2.8 より、zlib.h と zconf.h を D:\zlib\include に
zlib.lib と zdll.lib を D:\zlib\lib に
zlib1.dll をD:\zlib にコピーします。
FFmpegのconfigureでエラーが報告されるので、気になる場合は、
coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2
をダウンロードし、
展開して、pr.exeを取り出し c:\MSYS\1.0\bin に配置してください。
なくてもコンパイルは通ります。
ffmpeg-3.1.3.tar.bz2
を任意の場所に展開します。
この例では、D:\ に展開し、D:\ffmpeg-3.1.3 が得られたとします。
インストール先はD:\ffmpegとします。
VS2015 x64 Native Tools Command Prompt を開きます。 スタートメニューのVisual Studio 2015 の下にあります。
環境設定をし、MSYSのbashのシェルに入ります。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC> d:
D:\> cd ffmpeg-3.1.3
D:\ffmpeg-3.1.3> path=%path%;c:\msys\1.0\bin
D:\ffmpeg-3.1.3> set INCLUDE=%INCLUDE%;d:\zlib\include
D:\ffmpeg-3.1.3> set LIB=%LIB%;d:\zlib\lib
D:\ffmpeg-3.1.3> bash
bash-3.1$
bashシェルで、設定を行います。
bash-3.1$ ./configure --toolchain=msvc --extra-libs=msvcrt.lib --enable-shared --prefix=/d/ffmpeg
configureに1-2分かかります。
--extra-libs=msvcrt.lib はzlibライブラリの検出時のエラーを防ぐものです。
--enable-shared はdll作成モード、--prefix はインストールしたいディレクトリを指定してください。
zlib ライブラリのインクルードファイルの設定と干渉する部分があるので、修正します。
D:\ffmpeg-3.1.3\config.h を開き、
#define HAVE_UNISTD_H 0
という行を探して、以下のようにコメントアウトします。
//#define HAVE_UNISTD_H 0
zlib ライブラリで同じマクロが使用されており、この名前が0ではなく未定義でないとコンパイルが通りません。
bashシェルで、コンパイルとインストールを行います。
bash-3.1$ make
bash-3.1$ make install
makeに10分ほどかかります。
必要なDLLファイルを配置します。
D:\SDL\SDL.dll をD:\ffmpeg\bin にコピーします。
D:\ffmpeg\bin\ffmpeg.exe が実行できれば完成です。