Wie wird Visual Studio 2012 RC Compiler für Qt anstelle von MinGW festgelegt?

8

Windows 8 x86; Qt 4.8.2; Visual Studio Ultimate 2012 RC

    
das_j 02.06.2012, 15:13
quelle

1 Antwort

12

Soweit ich weiß, unterstützt Qt Visual Studio 2012 RC noch nicht. Ich habe es jedoch geschafft, Qt 4.8 mit Visual Studio 2011 Beta (dem Vorgänger von Visual Studio 2012 RC - sie haben sich gerade dafür entschieden, es umzubenennen) selbst zu bauen. Es erforderte einige Änderungen am Qt-Quellcode vor dem Kompilieren. Hier sind die Schritte, die ich verwendet habe:

  • Kopieren Sie mkspecs / win32-msvc2010 in mkspecs / win32-msvc2012, und bearbeiten Sie die Datei qmake.conf, um _MSC_VER = 1700 anzugeben.
  • Suchen Sie in allen Dateien im extrahierten Verzeichnis nach "msvc2010" und patchen Sie die ~ 10 Orte, um auch "msvc2012"
  • zu verstehen
  • Führen Sie in einer Visual Studio-Befehlsshellcd zu tools / configure eine vorherige Version von qmake aus (die Sie bereits haben müssen), und führen Sie dann nmake aus, um Ihre configure.exe zu aktualisieren.
  • Suchen Sie in allen Dateien nach "make_pair & lt;" und entfernen Sie die Vorlagenargumente.
    • Dies ist möglicherweise in VS 2012 nicht erforderlich; In VS 2011-beta habe ich Kompilierungsfehler mit make_pair bekommen, wenn Template Argumente angegeben wurden.
  • In src \ 3rdparty \ javascriptcore \ JavaScriptCore \ runtime \ Structure. {h, cpp} ändern Sie die make_pair-Aufrufe in explizite JSC :: StructureTransitionTableHash :: Key-Konstruktoraufrufe.
  • Bearbeiten Sie src \ 3rdparty \ clucene \ src \ CLucene \ config \ define_std.h, um _CL_HAVE_HASH_MAP und _CL_HAVE_HASH_SET
  • zu kommentieren
  • Führen Sie in einer Visual Studio-Befehlsshell das configure-Programm aus, das mit der Quelle installiert wird, z. B .: configure.exe -debug-and-release -platform win32-msvc2012 -opensource
    • [Optional] fügen Sie '-nomake demos -nomake examples' in die Befehlszeile ein, um die Build-Zeit zu sparen, und / oder '-mp', um sie parallel zu erstellen
  • Wenn die Konfiguration abgeschlossen ist, geben Sie nmake ein, um den Build zu starten. Dies wird Debug - und Release - Versionen aller Bibliotheken sowie Release - Versionen aller Tools (Designer, etc.) Erstellen.

Es hat ein wenig Arbeit gekostet, aber es hat für mich funktioniert und ich habe jetzt dutzende von Qt-Anwendungen in Betrieb, also dachte ich, ich würde es mit jedem teilen, der Qt 4.8.x in Visual Studio 11 (Visual Studio) erstellen will Beta 2011 oder Visual Studio 2012 RC.)

Wenn Ihnen das zu kompliziert erscheint, warten Sie einfach. Ich bin sicher, dass Qt Visual Studio 2012 bald unterstützen wird.

    
Conrad Poelman 27.06.2012, 06:20
quelle