2012-06-02 75 views

回答

12

據我所知Qt還不支持Visual Studio 2012 RC。然而,我設法用Visual Studio 2011測試版(Visual Studio 2012 RC的前身 - 他們只是決定重新命名它)來構建Qt 4.8。它需要在編譯之前對Qt源代碼進行一些更改。下面是我使用的步驟:

  • 複製mkspecs/Win32的msvc2010到mkspecs/Win32的msvc2012和編輯qmake.conf文件來指定_MSC_VER = 1700。
  • 在提取的目錄中的所有文件中搜索「msvc2010」並修補~10個位置以瞭解「msvc2012」
  • 在Visual Studio命令shell中,cd to tools/configure,運行先前版本的qmake你需要的),然後運行nmake來更新你的configure.exe。
  • 在所有文件中搜索「make_pair <」並刪除模板參數。
    • 這可能不需要在VS 2012;在VS 2011-beta中,當指定了模板參數時,我用make_pair得到了編譯錯誤。
  • 在src \ 3rdparty \ javascriptcore \ JavaScriptCore \ runtime \ Structure。{h,cpp}中將make_pair調用更改爲顯式JSC :: StructureTransitionTableHash :: Key構造函數調用。
  • 編輯的src \的3rdParty \ clucene的\ src \ CLucene \ CONFIG \ define_std.h註釋掉_CL_HAVE_HASH_MAP和_CL_HAVE_HASH_SET
  • 在Visual Studio命令外殼,運行安裝與源,如配置方案:配置。 exe -debug-and-release -platform win32-msvc2012 -opensource
    • [可選]將'-nomake demos -nomake examples'添加到命令行以保存構建時間,和/或'-mp'以並行構建
  • 配置完成後,鍵入nmake開始構建。這將構建所有庫的調試和發佈版本以及所有工具(設計器等)的發佈版本。

它花了一點工作,但它爲我工作,我現在有幾十個Qt應用程序啓動和運行,所以我想我會分享任何人想與Visual Studio 11上生成Qt 4.8.x (Visual Studio 2011測試版或Visual Studio 2012 RC)。

如果這看起來太複雜了,請稍等一下;我相信Qt很快就會支持Visual Studio 2012。

+1

如果您看到關於」pair「的一些構建問題,請點擊此鏈接:http://qt-project.org/forums/viewthread/17771 – echo

相關問題