サイトアイコン CAD日記

アプリでzip圧縮と解凍をやりたくてzlibを組み込んでみたんだけど。。

でかいファイルは、圧縮してコンパクトに扱いたくなる。
テキスト形式で定義されているファイルをアプリで読み書きする。
テキストは圧縮すれば1/5くらいになるので、その結果小さくなった
ファイルをアプリの入出力とすればよいという発想だった。
アプリは、圧縮されたファイルを解凍してから入力して、
何らかの編集操作後には再度圧縮して出力することになる。
圧縮ファイルと言えばzipであり、zipを扱うならば商用利用も
可能なzlibということになった。
zlibの最新版は1.2.8(update2013/4/28)である。
zlibサイトを下にスクロールさせて、真ん中より少し下の
「Related External Links」の中の
「zlib for Windows 9x/NT/2000/XP/2003 (DLL version, plus related utilities) 」
をクリックでwinimage社のサイトに飛んで、zlib125.zipと
zlib125dll.zipをダウンロードして、アプリに組み込んだのだった。
winimage社は、zlibをWindowsで使う用にラッパーのDLLを作成&
公開してくれていて、その作成時期が少し前なのでzlibの最新の1.2.8
ではなく、1.2.5というバージョンになっていた。
(このラッパーはwinimage社のminizipから切り出したものらしい。)
その程度のバージョン違いは問題ないと考えたし、またアプリへの
組み込みも問題なくできたので、やれやれってことで終わっていた。
最近になって、zlibのバージョンが最新かどうかという話が出て、
あらためてwinimage社のサイトに行ってみたら、ダウンロードできる
ファイルがzlib123.zipとzlib123dll.zipになっていることが判明した。
1.2.5あるいは最新の1.2.8ベースが出ているかと思ったら、なぜか
バージョンが1.2.3に戻ってしまっていた。(2015/12/23現在)
不具合、脆弱性、ライセンスなどの問題で戻した可能性が高い。
そもそもの話として、zlib本体をアプリに組み込むべきだ。
しかし、ネットではwinimage社のラッパーを組み込むネタは転がって
いるものの、zlib本体を組み込む方法が見つからない。
容易に組み込めるwinimage社のラッパーに飛びつくのはよくわかる。
zlib本体は、hとdefとlibの構成になっているので、そんなに難しくない
ようには思えるが、いかんせん英語で前例がネットにないと来ている。
がんばって英語と格闘するか、ネットでの事例を探し出すか。。。
zlib最新版を使うための戦いは続く。

モバイルバージョンを終了