FFmpeg_Installing_MSys

Installing MSys

MinGW on sourceforgeに飛びます
以下のパッケージを入手します
MSYS-1.0.11.exe
coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2

次のステップに進みます

Installing MSYS_exe

  • MSYS-1.0.11.exe.を起動する
  • "はい"をクリック
  • "Next >"をクリック
  • ライセンスに同意したら"Yes"をクリック
もし同意出来ない人はオープンソースソフトウェアを使ってどうしようってのかな?=)
  • "Next >"をクリック
MSysをインストールする場所を選択します
デフォルトでC:\msys\1.0となっていますが、C:\msysとすることをお勧めします
以下このWikiではC:\msysにインストールしたものとして勧めます
  • C:\msysと設定して"Next >"をクリック
スタートメニューのどこにMSysを置くか選択します
デフォルトで"MinGW"となってますが"msys"とすることをお勧めします
  • "msys"と設定して"Next >"をクリック
  • "Install"をクリック
少しするとプロンプトで尋ねられます
This is a post install process that will try to normalize between
your MinGW install if any as well as your previous MSYS installs
if any. I don't have any traps as aborts will not hurt anything.
Do you wish to continue with the post install? [yn ]

これはMSysのインストールの前にMinGWをインストールしていたら
それとの間を正常化するポストインストールの過程です
アボートのようなトラップも無く、何も傷つけません
ポストインストールを続行しますか?
yを押し、Enterを押すと以下のように表示されます
Do you have MinGW installed? [yn ]

既にMinGWをインストールしていますか?
yを押し、Enterを押すと以下のように表示されます
Please answer the following in the form of c:/foo/bar.
Where is your MinGW installation?

次のような書式で答えて下さい c:/foo/bar
どこにMinGWをインストールしましたか?
c:/mingwと打込み、Enterを押すとエラーが有れば以下のように表示されます
I could not find <wrong path>/bin/gcc.exe. You must have given an invalid
path to your MinGW environment. I am reversing to no MinGW
installation. If you do have MinGW installed then you can manually
bind the mount point /mingw to C:/mingw (replace C: with the
drive of your choice) by creating an /etc/fstab file with a line
that has a value similar to:
C:/mingw /mingw
Press ENTER to continue

<間違ったパス>/bin/gcc.exeが見つかりません
あなたのMinGW環境に無効なパスです
MinGWをインストールしていないってことにしときます
もしMinGWをインストールしたときは手動でマウントポイント
/mingwをC:/mingwにバインド出来ます(C:は任意で置換え)
/etc/fstabのファイルに以下の書式で一行書き足して下さい
C:/mingw /mingw
ENTER を押すと続けます
これはパスの入力を間違ったり、gccをまだインストールしてなかったり、
v4.2.1でgcc-sjlj.exeをgcc.exeにリネームしてなかったりすると出てきます
この表示が出ても心配せず、Enterを押してコマンドプロンプトを閉じて下さい

とりあえず、パス入力に問題が無ければ以下のようになります
Creating /etc/fstab with mingw mount bindings.
   Normalizing your MSYS environment.

You have script /bin/awk
You have script /bin/cmd
You have script /bin/echo
You have script /bin/egrep
You have script /bin/fgrep
You have script /bin/printf
You have script /bin/pwd

Oh joy, you do not have c:/mingw/bin/make.exe. Keep it that way.

C:\msys\postinstall>pause
Press any key to continue . . .

/etc/fstabを作成し、mingwのマウント構築しています
    MSys環境を標準化しています
(中略)

おぉジョイ(?)、c:/mingw/bin/make.exeが無いね、そのままでいて下さい(?)
もう一度Enterを押します

両方のチェックを外して"Finish"をクリック

もしgccのパスを間違えてエラーが出てたら、gccを正しい場所(c:\mingw)に確かにインストールして、
c:\msys\etcに行って、fstab.sampleをコピーしてfstabとリネームします
追記:fstab.sampleに既にC:/mingw /mingwという記述があるので、コピー&リネームでおk
インストール場所がC:/mingwじゃない場合は、テキストエディタでfstabを開いて修正

Installing coreutils

coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2を解凍して
coreutils-5.97\bin\pr.exeをC:\msys\bin\にコピーします
このパッケージの他のユーティリティ(duやkill)は有用なんだけど
FFmpegをコンパイル、実行するのには必要ありません

Updating msys for MSVC

もしMSVC++で自分でアプリを作り(注:FFmpegじゃなくて別のアプリ)、FFmpegのDLLとリンクさせようと思うなら、sharedライブラリとして.libを生成する必要があるでしょう
もしstaticなFFmpegライブラリにリンクするつもりが無いなら必要が無いことに注意して下さい
これらの.libファイルはMicrosoft's Toolchainからlibコマンドで生成されます(?よく分からない)
なので、Microsoft Visual StudioかMicrosoft Visual C++が必要です

C:\msys\msys.batをメモ帳のようなプレーンテキストエディタで開きます
以下のような行をmsys.batの最初に追加します
vcvars32.batのパスは実際に存在する場所を記述します
(注:パスにスペースが含まれる場合は、クォテーションマークでくくる必要があります)
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"

最終更新:2011年12月05日 00:37