lame.exeを64bitでコンパイルしたくて、Windows7(64bit)にMinGW(64bit)+MSYSを導入する

いきなりPCネタです(‘∀`)
先ずは参考になったページさんから。
Windows 64bit でvimprocをコンパイルする
コンパイルする物は違うけど、環境導入はこのページに沿ってみました。
それはそうと、MinGWって何よ?
細かいことはWikipediaとかに任せて、要するにフリーな開発環境みたいなもんです。
Cygwinみたいなもんだけど、あっちは開発環境と言うよりUnix(POSIX)環境を構築する感じかな。
なので、Cygwinでは作れてもMinGWでは作れん物もあるけど…手軽にコンパイルするだけなら、コレでもいんじゃない? みたいな。
で、これを導入して何をコンパイルしたいねんといえば、mp3コーデックのLameさんです。
なんでいちいち…いやなんとなくw


必要なのは、
MinGWの64bit版
http://mingw-w64.sourceforge.net/
の左のメニューから Win64 Download をクリックすると、64bit版のバイナリセットのダウンロードのページに飛ぶんだけど、「Automated Builds」と個人がカスタムBuildした「Personal Builds」てのがある。
今回は「Automated Builds」を選ぶ。と、また何か一杯出てくる。
LinuxやDarwin(Mac)用とかCygwin使ってる人用があるけど、何でもないWin7の64bit版のを使うので、
mingw-w64-bin_i686-mingw_20111220.zip
をダウンロード。
次はMSYS
これらはMinGWを使い易くするコマンド(makeとか)や、シェル(DOSプロンプトとかコンソールみたいなの)が入ったパッケージ。
http://sourceforge.net/projects/mingw/
のダウンロードボタンから。
mingw-get-inst-20120426.exe
を落としてきた。
見れば分かると思うけど、コイツはMSYSとMinGW本体の最新版をダウンロードしてインストールしちゃうモノ。
本来はコレだけでMinGWの開発環境が出来上がるんだけど、64bit版かどうか分からんので、コイツでMSYSの部分だけインスコして、MinGW本体は先のファイルを突っ込む感じ。
んでインスコ。
先ずは、mingw-get-inst-20120426.exeを実行してインスコ。
デフォルトだと、C:\MinGW にインスコされる。
で、インストール前に、何をインストールするか訊かれるので、MinGWはインスコしないようにチェックを外して、MSYS Basic Systemの方にチェックを入れる。
次に、mingw-w64-bin_i686-mingw_20111220.zipを解凍した中身を全部 C:\MinGW にコピー。
これ解凍すると、binフォルダの中の.exeファイルにx86_64-w64-mingw32-が付いてしまうので、その部分だけ削除する感じで、リネームしちゃう。
例えば、
x86_64-w64-mingw32-addr2line.exe
リネーム
addr2line.exe
て感じ。
んで、環境変数の設定。
UnixやDOSとかやってた人なら馴染みあるんだろうけどな…(‘A`)
とりあえず、Windows7だと、「コントロールパネル」→「ユーザーアカウント」で、左のメニューに「環境変数の変更」てのがあるのでポチっと。
システム環境変数では無くて、ユーザーの環境変数を弄ります。
一応、MinGWをC:\MinGWに入れてる場合。
MINGW C:\MinGW
PATH C:\MinGW\msys\1.0\bin;%MINGW%\bin

(「;」は、複数指定するときに間に入れます)
LIBRARY_PATH %MINGW%\lib
CPLUS_INCLUDE_PATH %MINGW%\include
C_INCLUDE_PATH %MINGW%\include

そうそう、環境変数としてMINGに C:\MinGW を指定していると、%MINGW%と記述すれば C:\MinGWということになります。
とりあえず、これで導入でけたので、あとはスタートメニューの中の「MinGW」から「MinGW Shell」を起動。
Unixぽいコンソール画面がでてくる。
今回はlameのコンパイルなので、lameのソースが置いてあるディレクトリに移動(例 cd D:\lame-3.99.5)して、以下コマンドを順に入れていく。
./configure
make
make install
エラー出さずに終わると、コンパイルされた lame.exe が
C:\MinGW\msys\1.0\local\binに入っている。
(ソース側にもあったけど…)
しかし、dllの方はなんか違うのが出て来たり…この辺は機会があったらまたですかね…。
取り敢えず、lame.exe起動中にプロセス名に「*32」が付かなかった(64bitで動いてる)ので、一応の目的は達成です(‘∀`)

投稿者: しらいし じゅん

趣味に奔る人ですε=ε=ε=┌(;゚∀゚)┘

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です