web-dev-qa-db-ja.com

Visual Studio 2012用のQt 4.8.xのコンパイル

Visual Studio 2012用にQt(バージョン4.8.x)をコンパイルするには、どのような手順を実行する必要がありますか?

この質問 (VS 2010の場合)の受け入れられた回答の指示に注意深く従いましたが、WebKitモジュールはコンパイルに失敗しました(コンパイル中にエラーメッセージがログに記録されたかどうかはわかりません) 。

私も この質問 を見ましたが、これは同じ質問ですが、VS 2012 RCの場合(これが重複した質問ではないと思った理由です)。さらに、回答者は、VS 2011 BetaのQtをコンパイルしたため、VS 2012(RTM)では機能しない可能性があると述べています。コンパイルにはlot時間がかかります。そのため、まだ試していません。

少なくとも1つの問題に気づいたのは、win32-msvc2012Qt\mkspecsディレクトリがないことです。そのディレクトリを作成して、win32-msvc2010からファイルをコピーする必要がありますが、場合によっては変更を加えますか?

別のサブ質問は、コンパイルを開始する前にQtソースにいくつかの変更を加える必要があるかどうかです。

43
Smi

Qt 4.8.3とVisual Studio 2012 x64(4.8.2でも動作するはずです)

  1. インストール Strawberry Perl

  2. Qt 4.8.3ソースコードを http://qt-project.org/downloads からダウンロードします

  3. mkspecs\win32-msvc2010に移動します。 qmake.confを開き、変更します。

    QMAKE_COMPILER_DEFINES  += _MSC_VER=1600 WIN32
    

    に:

    QMAKE_COMPILER_DEFINES  += _MSC_VER=1700 WIN32
    
  4. qt-everywhere-opensource-src-4.8.3-x64\src\3rdparty\webkit\Source\JavaScriptCore\wtf\HashSet.hthis HashSet.h に置き換えます。

  5. 「VS2012 x64 Native Toolsコマンドプロンプト」を起動します

  6. Qt 4.8.3ソースディレクトリ(configure.exeを含むディレクトリ)に切り替えます。

  7. 実行:

    configure -mp -opensource -nomake demos -nomake examples -platform win32-msvc2010
    
  8. に続く:

    nmake
    

Qt 4.8.3を自動的にダウンロードし、VS2012 x64でビルドするBlueGoというツールをプログラムしました: http://bluego.vertexwahn.de (これも動作します) VS2010 x64)(上記で説明したことを自動的に実行します)

72
Vertexwahn

Qt 4.8.4は、上記のVertexwahnで説明されているよりも少ない調整が必要です。

  • Qtがアーカイブから抽出された後、HashSetはまだ修正する必要があります( Vertexwahnの修正 を参照)。
  • ただし、プラットフォームwin32-msvc2012はすぐにサポートされます(64ビット環境の64ビットでも機能します。なぜWin32と名付けたのかは問わないでください)。

したがって、HashSet.hを置き換えてコンパイルするだけです。

22
cbielow

以下の変更でwin32-msvc2012ディレクトリを作成するだけではうまくいきませんでした。さらに編集が必要です。正確に必要なことは、すでにリンクしたスレッドに記述されています。

私がしたことは、win32-msvc2010に行きました。

そこで、qmake.confを開いて変更します

QMAKE_COMPILER_DEFINES + = _MSC_VER = 1600 WIN32

QMAKE_COMPILER_DEFINES + = _MSC_VER = 1700 WIN32

その後、win32-msvc2010を使用して構成できます。

また、私はこれらの変更を使用しました: http://qt-project.org/forums/viewthread/17771 (alziのバージョン)

6
Florian George