「オープンソースのビルド zlib」の版間の差分
(→概要) |
(→概要) |
||
| 16行目: | 16行目: | ||
GIF画像形式は、現在zlibで使用されている圧縮方法で基本的にデータを拡張することはありません。(LZWはファイルサイズを 2倍または3倍にすることができます。極端な場合。zlibのメモリフットプリントも入力データとは無関係です。必要に応じて、圧縮にある程度のコストをかけて削減できます。) | |||
2025年9月20日 (土) 11:41時点における版
言語と開発環境に戻る。
概要
zlibはhttps://www.zlib.net/で配布されてるオープンソースソフトウェアです。
zlibは無料で、汎用で、法的に妨げられないものだということです。いかなる特許にもカバーされていない技術を使用しています。
事実上すべてのコンピュータハードウェアで使用できる可逆データ圧縮ライブラリです。zlibデータ形式自体は各オペレーティングシステムに移植可能です。Unix圧縮で使用されるLZW圧縮方法とは異なります。
GIF画像形式は、現在zlibで使用されている圧縮方法で基本的にデータを拡張することはありません。(LZWはファイルサイズを 2倍または3倍にすることができます。極端な場合。zlibのメモリフットプリントも入力データとは無関係です。必要に応じて、圧縮にある程度のコストをかけて削減できます。)
zlibはJean-loup Gailly(ジーン ロアップ ゲイリー氏)の圧縮機能とMark Adler(マーク アドラー)の解凍機能によって構成されています。
Jean-loup(ジーン ロアップ)はかの有名なgzipの主作者でもあり、comp.compression FAQリストの作者でもあります。Info-ZIP のZipの元メンテナーです。
Mark(マーク)はgzipとUnZip のメインの作者でもあります。解凍ルーチンであり、Zip の元作者でした。
zlibで使用される圧縮アルゴリズムは、基本的にgzip と Zip、つまりPKWAREのPKZIP 2.xに由来する「deflate」メソッドです。
つまり、圧縮解凍プログラムの基礎となるソフトウェアなのです。
VisualStudio2022でのビルド手順
まずは、上記リンクにあるサイトからzlib131.zipをダウンロードします。バージョン1.3.1は2025年9月中旬時点の最新版でした。
解凍して、Visual Studioを起動して、フォルダを開くから解凍して生成されたzlib-1.3.1フォルダを開きます。
Makefileの処理が終わったら、ビルドからインストールを選択して実行します。その後、フォルダを閉じて、次に以下のソリューションを開きます。
- zlib-1.3.1\contrib\vstudio\vc17\zlibvc.sln
プロジェクトを開いたら、まずはソリューションをビルドしてみましょう。エラーが表示されます。
- zlib-1.3.1\contrib\vstudio\vc17\zlibvc.defというファイルについて
LNK1118: 'VERSION' ステートメントに構文エラーがあります。というエラーになります。このエラーをダブルクリックするとzlibvc.defが開きます。
VERSION 1.3.1
とある行を、
VERSION 1.31
とします。そして、再度、ソリューションをビルドすると正常にビルドが完了します。defファイルはモジュール定義ファイルで、VERSIONの記述形式がX.XXという形式にするという決まりになっているためzlibがバージョン管理に使っているx.x.xというパターンではエラーになるということみたいです。zlibの管理人はあまりvcの仕組みについては熟知していないか、その互換性に関心がないのかもしれません。それでもちょっと修正するだけで、モジュール定義ファイルがそのままVCで使えるだけありがたいと思った方がいいですね。
コンプリート!おめでとう!
言語と開発環境に戻る。