2011年11月27日

Visual C++ の vsvars32.bat と Win32.mak を使った libjpeg のコンパイル

フリーの JPEG ライブラリである IJG の libjpeg ですが、Visual C++ を使ってコンパイルするときは、vsvars32.bat と Win32.mak を使っています。

Visual Studio 2008 をインストールしている PC では、コマンド・プロンプトから、次のように入力すると、libjpeg をコンパイルできます。

"C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
cd "C:\...\jpeg-8c"
copy jconfig.vc jconfig.h
nmake -f makefile.vc nodebug=1

vsvars32.bat を実行すると、コンパイルするために必要な環境変数を設定します。 Visual C++ をインストールした場所によってパスが変わりますが、レジストリからインストールした場所をリードすれば、ユーザーがパスを調整する必要はなくなります。 バッチファイルからレジストリをリードする方法は、vsvars32.bat の中の GetWindowsSdkDirHelper に記述されています。

Visual C++ 用の makefile.vc は、最初に Win32.mak をインクルードしています。 このファイルは、Windows Platform SDK に入っています。

%WindowsSdkDir%\Include\win32.mak
WindowsSdkDir=C:\Program Files\Microsoft SDKs\Windows\v6.0A\

Win32.mak の先頭に、使い方の説明があります。 リリース版をビルドする方法(nodebug=1)や、マルチスレッドの C言語ランタイム・ライブラリを使う方法(cvarsmt)が分かります。

たぶん、無料の Visual C++ Express Edition + Windows Platform SDK でも使えると思います。

sage_p at 22:51│Comments(0)TrackBack(1)プログラミング 

トラックバックURL

この記事へのトラックバック

1. mozjpegを試す  [ 日記移転先(゜▽゜) ]   2014年03月09日 00:25
量子化テーブルの続きも書いてたのだが先日mozjpegなんてのが出たのでそちらを試す。

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔