Visual Studio 2015 Update3でlibjpeg.libをコンパイルする

1:http://www.ijg.org/ から最新の"jpegsr*.zip"をダウンロードして、適当なフォルダに解凍し2つのファイル名を変更する。

※本稿の時点ではjpegsr9bが最新。

  • makefile.vc → makefile
  • jconfig.vc → jconfig.h

2:状況に応じて、makefileの15行目にオプションを追加する。

例:
CFLAGS= $(cflags) $(cdebug) $(cvars) -I.
 ↓
CFLAGS= $(cflags) $(cdebug) $(cvars) /Ox -I.

3:スタートメニューから"VS2015 x86 Native Tools コマンド プロンプト"を実行し、makefileがあるフォルダを開いて以下のコマンドを実行する。

※そのままmakeしようとすると「"win32.mak"が見つからない」などとエラーが出るので、それらが含まれるSDKへのパスを環境変数includeとlibの'最初に'追記してからmakeする。

set include=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\;%include%
set lib=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\lib\;%lib%
nmake nodebug=1

※"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A"の部分は環境に応じて変更する。

4:makeが終わると同じフォルダ内に"libjpeg.lib"他、周辺ツールなどが生成される。

5:jpegの読み書きに最低限必要なのは以下の4つ。

  • libjpeg.lib
  • jmorecfg.h
  • jpeglib.h
  • jconfig.h

libjpeg.libの使い方はmakefileと同じフォルダにあるexample.cが参考になる。