「オープンソースのビルド zlib」の版間の差分

提供:yonewiki
 
(同じ利用者による、間の2版が非表示)
16行目: 16行目:




 GIF画像形式では、現在zlibで使用されている圧縮方法で基本的にデータを拡張することはありません。(LZWはファイルサイズを 2倍または3倍にすることができます。極端な場合。zlibのメモリフットプリントも入力データとは無関係です。必要に応じて、圧縮にある程度のコストをかけて削減できます。
 GIF画像形式は、現在zlibで使用されている圧縮方法で基本的にデータを拡張することはありません。(LZWはファイルサイズを 2倍または3倍にすることができます。極端な場合。zlibのメモリフットプリントも入力データとは無関係です。必要に応じて、圧縮にある程度のコストをかけて削減できます。)




42行目: 42行目:




 Makefileの処理が終わったら、ビルドからインストールを選択して実行します。その後、フォルダを閉じて、次に以下のソリューションを開きます。
 Makefileの処理が終わったら、ビルドからインストールを選択して実行します。(zlibのパス)\out\install\x64-Debug\includeの下のzconf.hを(zlibのパス)の直下にコピーします。その後、フォルダを閉じて、次に以下のソリューションを開きます。




*zlib-1.3.1\contrib\vstudio\vc17\zlibvc.sln
* (zlibのパス) \zlib-1.3.1\contrib\vstudio\vc17\zlibvc.sln




51行目: 51行目:




*zlib-1.3.1\contrib\vstudio\vc17\zlibvc.defというファイルについて
* (zlibのパス) \zlib-1.3.1\contrib\vstudio\vc17\zlibvc.defというファイルについて





2025年9月20日 (土) 11:52時点における最新版

言語と開発環境に戻る。

概要

 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のパス)\out\install\x64-Debug\includeの下のzconf.hを(zlibのパス)の直下にコピーします。その後、フォルダを閉じて、次に以下のソリューションを開きます。


  • (zlibのパス) \zlib-1.3.1\contrib\vstudio\vc17\zlibvc.sln


 プロジェクトを開いたら、まずはソリューションをビルドしてみましょう。エラーが表示されます。


  • (zlibのパス) \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で使えるだけありがたいと思った方がいいですね。


コンプリート!おめでとう!

 

言語と開発環境に戻る。