圧縮アルゴリズム(1)
Deflateアルゴリズムには権利に関する問題がないため、非常に多くのファイルに使われており、zipファイル以外にも、かつてあった特許権に関するトラブルを避けるためインターネットでGIFの代わりに使われるようになったPNGファイルや、フラッシュムービー(swf)でも、データの圧縮にはこのアルゴリズムが採用されています。アルゴリズム自体の解説はLHAとZIP―圧縮アルゴリズム×プログラミング入門
zlibの公式サイトで配布されているコンパイル済みライブラリはVisual C++ 6.0と古いコンパイラで作成されているのため、最新のコンパイラでソースコードからコンパイルしたライブラリを用いることにします。
zlibのサイトからからダウンロードしたソースコードのアーカイブファイルを展開したファイル群の中から「projects\visualc6\zlib.dsw」をダブルクリックします。すると、プロジェクトファイルの変換を促すメッセージが表示されるので、「すべてはい」を選択してVisual C++ 2008形式のプロジェクトファイルへの変換を行ってください。



このままでは、コンパイル時に警告が発生するので、続いてはそれらに対する修正を行います。
プロジェクトのプロパティページより「C/C++→プリプロセッサ→プリプロセッサの定義」に、「_CRT_SECURE_NO_DEPRECATE」を追加して、「strcpyの代わりにstrcpy_sを使ってください」といった警告を抑止します。

もし、Visual C++ 2008ランタイムライブラリを別途インストールするタイプにしたくないのであれば、「C/C++→コード生成→ランタイムライブラリ」の項目の「マルチスレッドDLL/マルチスレッドデバッグDLL」を「マルチスレッド/マルチスレッドデバッグ」に置き換えます。

ちなみにDLL形式のzlibにおいては、「odbc32.lib」などのリンクを省いても問題ありません。あとはVisual Studioからビルドを行えば、「Win32_LIB_Release」フォルダにスタティックライブラリバージョンが、「Win32_DLL_Release」にはダイナミックライブラリバージョンが生成されます。