ドキュメントを眺めてみると、deflate64メソッド以外にも、bzip2メソッドの展開のサポートも追加されているようです。
6.10bはβ版で、しばらくすると正式版をリリースするぜ!(意訳)とありますが、正式バージョンはもう何年もリリースされていません。
前回のブログのエントリで、偽UnZip32.DLLもバージョンアップするよ。って書いてしまったので、Info-Zip製 UnZip32.DLLが手元でビルドできるかを確認してみました。
というのは、
偽UnZip32.DLL = Info-Zip製 UnZip32.DLL + 独自ソースなので、Info-Zip製のUnZip32.DLLが無いとお話が始まらないからです。
用意するもの
Microsoft Visual Studio Community 2015 Update 3
フリーソフトプログラマには、必須の開発ツールですよね。Info-Zip製 UnZipのソース
ここあたりから、unzip610b.zipをダウンロードします。bzip2のソース
ここから、bzip2-1.0.6.tar.gzをダウンロードします。ビルド環境の構築方法
- Microsoft Visual Studio Community 2015 Update 3をインストールする。
- unzip610b.zipを作業ディレクトリに展開する。
- bzip2-1.0.6.tar.gzを作業ディレクトリに展開する。
- 3.を展開して得られたソース一式を、2.で展開したunzipのソース配下のbzip2配下にコピーする。
- unzip610b\windll\vc8\unzip32.sln をVisual Studio Community 2015で読み込ませる。vc8用のプロジェクトなので、プロジェクトのアップデートを行う。
- ソリューション エクスプローラから、プロジェクト「c_dll_ex」と「unz32dll」以外を削除する。(今回は不要だから)
- スタートアップ プロジェクトは「c_dll_ex」に設定する。
- ソリューションにunzip610b\win32\vc8\bz2lib.vcproj プロジェクトをソリューションに追加する。変換されてソリューションに追加される。
- global.h内の「# include "bzlib.h"」を「# include "bzip2/bzlib.h」に修正する。
- ソリューションのプロパティ>共通プロパティ>プロジェクトの依存関係 のプロジェクト「unz32dll」の依存先をbz2libにする。
- unz32dll プロパティ>構成プロパティ>C/C++>プリプロセッサ>プリプロセッサの定義に「USE_BZIP2」を追加する。
- unz32dll プロパティ>構成プロパティ>リンカー>入力 の追加の依存ファイルに、「bz2lib」でビルドされるbzip2.libをフルパスで追加する。(マクロを使うと簡単に表記できるかもね。)
- ソリューションのリビルドを行い、ビルドをする。
ワーニングがチョットばかし出ますが、致命的ではないので気にしない気にしない。(^_^;)
bzip2メソッドでzipしたファイルを同ディレクトリにコピーします。
コマンドプロンプトで、同ディレクトリにカレントディレクトリに移動して、
uzexampl.exe bzip_method.zipみたいにすると、展開できるようにビルドできたことが確認できます。
コマンドプロンプトで、そのディレクトリに移動して、
0 件のコメント:
コメントを投稿