ぼく用あれこれまとめ
zlib 1.2.6 をVisual C++でビルドする
最終更新:
bokuyo
-
view
zlib 1.2.6 をVisual C++でビルドする
- zlib 1.2.6(January 29, 2012) をWindows 環境に導入します。
- あれやこれやしていた zlib 1.2.6 を導入したときのメモ を踏まえて、今回は手短に手順を示していきたいところです。
- Visual C++ 2010 Express を使用しています。32bit(x86) 環境です。
- 適宜、お使いの環境に合わせて読み解いてください
- Visual Studio 2012 で zlib 1.2.7 をビルドしたときのメモは次になります
ダウンロード
- http://zlib.net/(公式サイト)から「zlib source code, version 1.2.6, zipfile format」をダウンロードします。
- ダウンロードした"zlib126.zip" ファイルを解凍します。
- 以降の説明では、面倒なので解凍先をデスクトップ(Desktop)にしています
inffas32.obj と match686.obj をビルドする
- コマンドプロンプトを開き、以下を順に実行。
- vcvars32.bat で環境変数を読み込んで、bld_ml32.bat でinffas32.obj と match686.obj をビルドしてます
>"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" >cd Desktop/zlib-1.2.6/contrib/masmx86 >bld_ml32.bat
ビルドする
- zlib-1.2.6/contrib/vstudio/vc10/zlibvc.sln をVisual C++ 2010 で開きます
- zlibvc プロジェクトのプロパティを開き、[構成プロパティ]->[全般]
- ターゲット名を"$(ProjectName)" から "zlibwapi" に変更してください。
- そのままビルドしてください。
- ちなみに、デバッグ・リリースモードそれぞれ /MTd, /MT に設定されています。特に変更する必要はないです。
- Debug, Release それぞれビルドを行うと zlib-1.2.6/contrib/vstudio/vc10/x86 ディレクトリに以下のディレクトリができています
- MiniUnzipDebug, MiniZipDebug, TestZlibDebug, TestZlibDllDebug, ZlibStatDebug, ZlibDllDebug
- MiniUnzipRelease, MiniZipRelease, TestZlibDllRelease, TestZlibRelease, ZlibDllRelease, ZlibStatRelease
- ZlibDll○○ に.dll ファイル, ZlibStat○○ に.lib ファイルがそれぞれ出力されています。
エラーが出てる!
- testzlib プロジェクトをビルドしたときに、エラーが出た場合
2>zutil.obj : error LNK2019: 未解決の外部シンボル _gzflags@0 が関数 _zlibCompileFlags@0 で参照されました。 2>x86\TestZlibDebug\testzlib.exe : fatal error LNK1120: 外部参照 1 が未解決です。
- testzlib プロジェクトのプロパティを開き、[構成プロパティ]->[リンカー]->[入力]
- 追加の依存ファイルに"x86\ZlibStatDebug\zlibstat.lib" を追加します(Debug 時)
- Release 時も同様に"x86\ZlibStatRelease\zlibstat.lib" を追加しておいてください。
- これでもう一度ビルドすると成功します。
- "x86\ZlibStatDebug\zlibstat.lib" または "x86\ZlibStatRelease\zlibstat.lib" が存在しないと上手くいきません
- zlibstat プロジェクトをビルドしてから行うと上手く行きます
関連リンク
- http://zlib.net/ - zlib 公式サイト