win7+VS2010 64bit 編譯QT

QT版本4.8.6

參考鏈接

編譯步驟 http://blog.sina.com.cn/s/blog_671c54fe0100w0qz.html

編譯過程中遇到的問題 http://bbs.csdn.net/topics/380153284

 

1,下載文件

       地址 http://qt-project.org/downloads/

      1.1 下載QT4.8.6的source code(qt-everywhere-opensource-src-4.8.6.zip)

      1.2 將其解壓到目錄:D:\QtLib_4.8.6

      1.3 另外下載qt-vs-addin-1.1.11-opensource.exe

 

2,編譯

     2.1 開始  -> 所有程序 ->Micorsoft Visual Studio 2010->visual studio tools-> Visual Studio x64 win64 command prompt (2010)

     2.2 用cd命令 進入D:\QtLib_4.8.6\qt-everywhere-opensource-src-4.8.6文件夾

     2.3 設置如下環境變量:

            set QTDIR=D:\QtLib_4.8.6\qt-everywhere-opensource-src-4.8.6

            set QMAKESPEC=win32-msvc2010

   2.4  配置編譯QT的選項 (可利用configure -hlep命令查看各選項意義,自己選擇編譯模塊)

          configure -platform win32-msvc2010 -opensource -fast -qt-style-windowsxp -qt-style-windowsvista -no-qt3support -qt-sql-odbc -no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia -nomake examples -nomake demos

       (或者:configure -platform win32-msvc2008 -debug-and-release)

        提示:Do you accept the terms of the lisence ?  輸入y, 則開始編譯qmake工具

   2.5  使用nmake命令開始編譯QT。編譯完成後,可執行文件存放於 /bin, 具體的Release,Debug版本的庫存放於/lib 目錄下。

   2.6  注意:編譯一個多小時後會報以下錯誤:

platform\DefaultLocalizationStrategy.cpp(327):error C2001:常量中有換行符
platform\DefaultLocalizationStrategy.cpp(327):fatal error C1057:宏擴展中遇到意外的文件結束
NMAKE:fatal error U1077:"...(路徑)\MSVS10.0\VC\BIN\cl.EXE":返回代碼"0x2"
Stop.
NMAKE:fatal error U1077:"...(路徑)\MSVS10.0\VC\BIN\nmake.EXE":返回代碼"0x2"
Stop.
NMAKE:fatal error U1077:"cd":返回代碼"0x2"
Stop.
NMAKE:fatal error U1077:"cd":返回代碼"0x2"
Stop.

      解決方法:

      打開這個文件:<Qt Dir>\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp
       按Ctrl+G定位 到 327 行, 改爲:
    return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
       注意第一個括號內look up 後的雙引號。

        修改好後使用nmake重新編譯。

3.清理

  3.1 把 qmake.cache(和configure.cache)備份到別的地方

  3.2 nmake confclean

  3.3 把 qmake.cache(和configure.cache) 複製回原處

        如果不這樣,安裝 qt-vs-addin 後進行 Qt Versions 添加路徑時將失敗。

 

4. 安裝qt-vs-addin插件

    4.1 運行qt-vs-addin-1.1.11-opensource.exe

    4.2  打開VS2010, 選擇QT---->QT Options.在QTversions頁面點擊add, name中輸入QT版本的名字,例如4.8.6,path中輸入QT所在位置:D:\QtLib_4.8.6\qt-everywhere-opensource-src-4.8.6

    4.3  環境變量path中添加D:\QtLib_4.8.6\qt-everywhere-opensource-src-4.8.6\bin

    4.4 新建QT項目,編譯時可能會彈出以下錯誤:

The following error occured:
There's no Qt version assigned to this project for platform Win32. Please use the 'change Qt version' feature and choose a valid Qt version for this platform.

    解決辦法:

    右鍵項目solution,選擇“Change Solution's QT Version”---->選擇當前的QT版本4.8.6。



補充:

VS2015+qt5的編譯與之類似,參考 http://doc.qt.io/qt-5/windows-building.html
 

   

發佈了43 篇原創文章 · 獲贊 187 · 訪問量 61萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章