Qt4.8.xをWindows(Desktop)向けにビルドする

Qt4.8.xをビルドします。
まだまだしばらくは現役っぽいですしね。

試したコミットは「8990186b15923096054d42de03cbbab9453730f3」でビルドしたらバージョン番号は4.8.5でした。


/// 環境(参考) ///
・Windows 7 Pro (64bit)
・Virtual Boxにインストール
・割り当てコア数2
・割り当てメモリ2G

注意
作業をするフォルダは「c:\qt4」として以下の説明をします。

/// 環境作成 ///
1.必要なツールをインストール
・Visual Studio 2008 (or 2005)
git


/// ビルド準備 ///
1.ソースの取得
>cd c:\
>git clone git://gitorious.org/qt/qt.git qt4
>cd qt4

2.環境変数の設定
>"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" amd64

1行目のamd64は環境にあわせて変更してください。


パスの内容はVCのバージョンによっても変わりますので調節してください。

3.ビルド
>configure -platform win32-msvc2008 -opensource -nomake examples -nomake tests -confirm-license -prefix c:\Qt\qt4.8.x\
>nmake

3.インストール
>nmake install

configreするときにprefixで指定したパスにコピーされます。


/// 注意 ///
自分がテストした状態ではWebkitの中で以下のようなエラーがでます。
DefaultLocalizationStrategy.cpp
platform\DefaultLocalizationStrategy.cpp(327) : error C2001: 定数が 2 行目に続いています。
platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: マクロ展開中に予期せぬ EOF を検出しました。

C:\qt4\src\3rdparty\webkit\Source\WebCore\platform
line:327
return WEB_UI_STRING("Look Up """, "Look Up context menu item with selected word").replace("", truncatedStringForLookupMenuItem(selectedString));

こんな感じの行があって明らかに「"」が悪さしてそうだったのでシングルクオートに置き換えたらビルドできました。