Visual Studio 2010でWindows版7-Zipをビルドする手順のメモです。
- 7-Zipのソース(7zXXXX-src.7z)を落としてきて展開しておく
- 入ってない場合はVisual Studio 10とWindows SDK 7.1をインストールする
- CPP\Build.makをテキストエディタで開き、以下のように33行目の「-OPT:NOWIN98」を削除する
- Windows SDK 7.1のコマンドプロンプトを開く
- cdでCPP\7zipまで移動する
- nmake NEW_COMPILER=1 MY_STATIC_LINK=1 でコンパイルとリンクを行う(64-bitでビルドしたい場合はCPU=AMD64もつける)
- CPP\7zip\Bundles, CPP\7zip\UIあたりから生成されたバイナリ(exe)を拾う
[code firstline=”32″ title=”Build.mak”]
!IFNDEF NEW_COMPILER
LFLAGS = $(LFLAGS) -OPT:NOWIN98
!ENDIF
CFLAGS = $(CFLAGS) -Gr
LIBS = $(LIBS) user32.lib advapi32.lib shell32.lib
[/code]↓↓↓[code firstline=”32″ highlight=”33″ title=”Build.mak”]
!IFNDEF NEW_COMPILER
LFLAGS = $(LFLAGS)
!ENDIF
CFLAGS = $(CFLAGS) -Gr
LIBS = $(LIBS) user32.lib advapi32.lib shell32.lib
[/code]
コメント
AMD64でビルドする場合に、
mlのパスが通ってない & $(PLATFORM)がx64と認識されないため、
L23@Build.makを以下のように書き換える必要があった。
MY_ML = ml -WX
↓
MY_ML = “C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\ml64.exe” -Dx64 -WX