2012-06-02 7 views

Odpowiedz

12

O ile mi wiadomo, Qt nie obsługuje jeszcze Visual Studio 2012 RC. Udało mi się jednak zbudować Qt 4.8 z Visual Studio 2011 beta (poprzednik Visual Studio 2012 RC - oni po prostu postanowili zmienić nazwę) samodzielnie. Wymagało wprowadzenia pewnych zmian w kodzie źródłowym Qt przed kompilacją. Oto kroki użyłem:

  • Kopiowanie mkspecs/win32-msvc2010 do mkspecs/win32-msvc2012 i edytować plik qmake.conf określić _MSC_VER = 1700.
  • Wyszukaj "msvc2010" we wszystkich plikach w wyodrębnionym katalogu i załóż ~ 10 miejsc, aby również zrozumieć "msvc2012"
  • W powłoce komend Visual Studio, cd na tools/configure, uruchom poprzednią wersję qmake (które musisz już mieć), a następnie uruchom nmake, aby zaktualizować plik configure.exe.
  • Wyszukaj "make_pair <" we wszystkich plikach i usuń argumenty szablonu.
    • To może nie być wymagane w VS 2012; w wersji VS 2011-beta dostałem błędy kompilacji z make_pair, gdy podano argumenty szablonu.
  • w src \ 3rdParty \ JavaScriptCore \ JavaScriptCore \ Runtime \ strukturę. {H, CPP} zmienić make_pair wzywa do wyraźnego JSC :: StructureTransitionTableHash :: Kluczowe rozmowy konstruktora.
  • Edit src \ 3rdParty \ clucene \ src \ CLucene \ config \ define_std.h wypowiedzieć się _CL_HAVE_HASH_MAP i _CL_HAVE_HASH_SET
  • W Visual Studio powłoki poleceń, uruchomić program konfiguracyjny, który jest zainstalowany z źródła, np: Konfiguracja. exe -debug-and-release -platform win32-msvc2012 -opensource
    • [Opcjonalnie] dodaj "-nomake demos -narzędzi przykładów" do wiersza poleceń, aby zaoszczędzić czas budowy, i/lub "-mp", aby budować równolegle
  • Po zakończeniu konfiguracji wpisz nmake, aby rozpocząć kompilację. Spowoduje to utworzenie wersji debugowania i wydania wszystkich bibliotek oraz wydanie wersji wszystkich narzędzi (projektanta itp.).

Zajęło mi to trochę pracy, ale zadziałało to dla mnie, a teraz mam już uruchomione dziesiątki aplikacji Qt, więc pomyślałem, że podzielę się z kimkolwiek, kto chce zbudować Qt 4.8.x na Visual Studio 11 (Visual Studio 2011 beta lub Visual Studio 2012 RC.)

Jeśli wydaje się to zbyt skomplikowane, po prostu poczekaj chwilę; Jestem pewien, że Qt wkrótce będzie obsługiwał Visual Studio 2012.

+1

Śledź ten link, jeśli widzisz problemy z budową dotyczące" pary ": http://qt-project.org/forums/viewthread/17771 – echo