CAD日記

AutoCAD,DXF,DWG,SXFなどCADのことから、仮想通貨や投資関係、PC関係、プログラミング、国内海外旅行情報など何でもござれ。@caddiary

ソフト開発

アプリで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最新版を使うための戦いは続く。

-ソフト開発
-

執筆者:


comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

PDFiumでPDFを描画してみたけど、こんなに簡単にできちゃっていいのかよ!

PDFiumで画像化とテキスト抽出が容易にできることは前回まででわかっていたので、今回は描画に取り組んでみた。

no image

TEMPフォルダ書き込みエラーが頻発したのはなぜだろう

「環境変数TEMPトラブルについて振り返る」という記事に書いた出来事は1か月ほど前に起きたことでありWindows Serverでもあったから、レアな事象としてとらえていたが、一昨日の金曜日に起きたこ …

PDFアレコレはiTextSharp7も組み込むことにする

PDFiumViewerを使ってPDFアレコレという名のフリーソフトを作ってみたわけだが、PDFiumViewerの限界が見えてきた。

no image

WM_TIMER

MFCで時間を扱うための基本的なメッセージ。 プログラムの10年以上やってるけど、今まで必要なかった。 必要性を感じて調べたら、けっこうおもしれぇ。 データ変換に要している時間を、ダイアログボックス内 …

no image

WinMergeのフィルタ

【2018/11/24追記】 この書きっぷりではあまりにもわかりずらいので、整理して追加情報を加えて新たな記事とした。 WinMegeのフィルタについて今すぐ知りたいならココを読め プログラマにとって …