そんなわけで、zlibを使ってみた。
zlibはzipやgzipに使われている圧縮アルゴリズムをライブラリ化したもの。
pngの圧縮もこのzlib。
参考サイト
・Windows・VC++でZlibを使う(VisualStudio2008)
zlibをダウンロードする
まずはホームページからzlibのソースを持ってくる。
とりあえずその時の最新版をもってくりゃよかろう。
この記事を書いている当時はzlib-1.2.8だったので、記事もそれに倣って書く。
makefileの設定
参考サイトに倣ってzlib-1.2.8/win32/makefile.mscを書き換える。
/*---------------------------------------------------------------------------*/
# optional build flags
LOC =
OC =
OL =
/*---------------------------------------------------------------------------*/
OCとOLを追加。
/*---------------------------------------------------------------------------*/
CFLAGS = -nologo -W3 -O2 -Oy- -Fd"zlib" $(LOC) $(OC)
LDFLAGS = -nologo -debug -incremental:no -opt:ref $(OL)
/*---------------------------------------------------------------------------*/
CFLAGSはコンパイラオプション。LDFLAGSはリンクオプション。
追加したOCとOLを使用するように設定。
コンパイルする
スタートメニューの全てのプログラムから「VisualStadio2008コマンドプロンプト」を起動するなり、
参考サイトのように自分でbatファイルを実行するなりして環境変数を通す。
zlibがあるフォルダまで移動して、以下のコマンドを実行。
/*---------------------------------------------------------------------------*/
リリースビルド
nmake -f win32\Makefile.msc LOC="-DASMV -DASMINF" OBJA="inffas32.obj match686.obj" OC="/MT"
デバッグビルド
nmake -f win32\Makefile.msc LOC="-DASMV -DASMINF" OBJA="inffas32.obj match686.obj" OC="/MTd /Z7" OL="/PDB:zlib.pdb"
/*---------------------------------------------------------------------------*/
zlib1.dll,zdll.lib,zlib.lib,zlib.pdbが生成される。参考サイトで言ってることと違ってデバッグじゃなくてもzlib.pdbができてしまった。
適当なプロジェクトでリンカオプションを設定して実行。
問題なく動作したのでよしとする。
0 件のコメント:
コメントを投稿