Visual C++2008がMSより無償提供され、また、lame3.98よりVC9用のプロジェクトファイル同梱されるようになったので、高価な開発環境を持っていない人でも比較的容易にlameをビルドできるようになりました。そこでその方法を大ざっぱにまとめてみました。
| 1 | マイクロソフトのWebページからVisual C++ 2008をダウンロードしインストールしておいてください。 Webインストールと、オフライン・インストール(ISOイメージをダウンロードしてCD-Rなどに焼く、または仮想CDドライブにマウントしてインストール)が選べますが、お好みの方法で。 |
| 2 | The Netwide Assembler からnasmをダウンロードします。 このページを作成時点ではVer2.05がstable最新なので nasm-2.05-win32.zipというのが目的のファイルです。 ダウンロードしたものを解凍して nasm.exeというファイルをパスの通ったフォルダへコピーします。面倒ならVisual C++ 2008をインストールしたフォルダの下のVCフォルダの下にbinフォルダがあるので、そこへ放り込んでもかまいません。 |
| 3 | Lameのソースコードをダウンロードして解凍します。 解凍先はパスに日本語を含まない場所にしてください(nasm.exeが日本語パスをうまく扱えずエラーになる場合があるので) |
| 4 | ダメ文字対策 解凍したソースファイルの frontendフォルダにある parse.cをエディタなどで開いて以下の修正をします。 125行付近 #ifdef WIN32 #include <winbase.h> #include <mbstring.h> ←追加 static void dosToLongFileName(char *fn) 143行付近 // q = strrchr(fn, '\\'); ←先頭に//を入れてコメント化 // p = strrchr(fn, '/'); ←先頭に//を入れてコメント化 q = _mbsrchr( fn, '\\' ); ←追加 p = _mbsrchr( fn, '/' ); ←追加 |
| 5 | 解凍したソースファイルの vc_solutionフォルダにVC9用のソリューションファイル vc9_lame.slnをダブルクリックするとVC9が立ち上がるはずですが実際はエラーになります。 原因はソリューションファイル vc9_lame.slnを含め拡張子 .slnのファイルの改行コードがLFのみとなっている為で、テキストエディタなどで Win標準の CRLFに変更すれば正常に開けるようになります。 |
| 6 | vc9_lame.slnをダブルクリックすると VC9が立ち上がります。 |
| 7 | ツールバーの構成オプションの所を Release NASMに変更します |
| 8 | 左のソリューションエクスプローラの libmp3lameを選んで右クリック−[プロパティ] |
| 9 | C/C++の下の[コード生成]を選択します。 |
| 10 | 以下の項目を変更します。 ランタイムライブラリ:MTマルチスレッド 浮動小数点モデル:Fast 拡張命令セットを有効にする:お好みで |
| 11 | ソリューションエクスプローラに表示されている mpg.lib 、lame に対しても上の8〜10の設定をします。 |
| 12 | ソリューションエクスプローラでlameを選択して右クリック−[ビルド] |
| 13 | ビルドが成功すれば outputフォルダに lame.exeができています。 |
| おまけ | 私が使っているソリューションファイルと修正ファイル一式です。 lame3.98.2のソースに上書きしてビルドすればいいはず。 ソースはダメ文字対策に加えてlibiconvをリンクしてunicodeタグのオプションが使えるように修正しています。 私の使う範囲では問題は発生していませんが、使う場合は自己責任で。 |