Visual Studio 2005、ml.exe、zlib

某プロジェクトが急にビルドできなくなって、原因を探ってみたら、zlib をビルドするときに使う ml.exe が存在しないことが原因の様子。今までは普通にビルドできてたんだけどなぁ、なんだろう。もちろん、今までもずっと zlib のビルド構成は LIB ASM Release でした。もちろん LIB Release とかなら行けます。もしかしたら、今まで使ってた .lib は旧バージョンの Visual Studio でビルドしたやつだったのかも。互換性あるんだろうか……
そんなわけで ml.exe が何で存在しないのか調査。エディション別の機能情報によれば、Visual Studio 2005 では Professional 以降にしかないとのこと。次に、検索して出てきたフォーラムの議論 を見てみたら、Standard にも Academic にもあるとか。なんだ、ドキュメントのミスか。と思いたいのですが、ml.exe が無い時点で、ドキュメントよりもフォーラムでの MS の人の発言が間違ってるとしか。結局、こちらに書いてある方法で入手しました。

さて、これで安心してビルドできる……と思ったら、そうは行きませんでした。今度は一部の movd 命令が通らないとか何とか……というところで、重大なミスに気づく。今までずっと zlib/projects/visualc6/ にあったプロジェクトファイルをコンバートして使ってきたのですが、実は zlib/contrib/vstudio/ に上位バージョン用のソリューションファイルがあったんですね。そっちを使ったらすんなり。まぁ ml.exe が手に入ったのでとりあえずいいとしますか。