qt4.8.4安裝以及64位程序編譯方法

本文將使用簡單的幾個步驟說明在vc2008和64位的操作系統下如何編譯安裝x64Qt軟件

首先必須保證你所使用的系統是64bit的操作系統,本次我們使用的系統是windows7 professional 64位操作系統

 一、下載及安裝

 1. 下載,直接找官網下載就可以了,我的是qt-win-opensource-4.8.4-vs2008.exe;安裝到D:\qt\4.8.4目錄下!

 2. 設置環境變量:

我的電腦> 屬性> 高級> 環境變量> 用戶變量裏面設置幾個變量:

 

創建QTDIR值爲 D:\Qt\4.8.4

 

path中增加$QTDIR$\bin(如果沒有就創建)

創建QMAKESPEC值爲 win32-msvc2008,這個值還是根據你要生成的vs版本,6.0 使用win32-msvc;2003 使用win32-msvc.net; 2005就是win32-msvc2005; 2008就是 win32-msvc2008

最後爲了使的你剛纔修改的環境變量生效,重啓cmd,可以通過c:\>qmake -v來看你使用的qt版本。

 3. 點擊開始》Microsoft Visual Studio 2008》Visual Studio Tools》VisualStudio 2008 x64 Win64 Command Prompt

現在開始安裝

首先進入你所在的Qt openresource 所在的文件夾

例如:D:\Qt\4.8.4

D:\Qt\4.8.4>onfigure -platform win32-msvc2008 -opensource-fast -qt-style-windowsxp -qt-style-windowsvista -no-qt3support -qt-sql-odbc-no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia
-nomakeexamples -nomake demos

 

此時會有一個選項 是選擇商業版還是開源版,此處要選擇開源版,

只需輸入然後回車 此過程時間大概幾分鐘

接下來就開始

D:\Qt\4.8.4>nmake

 

最後這個過程時間較長,需要兩三個小時!

 

安裝

D:\Qt\4.8.4> nmakeinstall

 

 

 

二 編譯過程中遇到錯誤

 

利用VS2008Qt4.8.4庫進行編譯,在編譯到某個文件時,總是報錯,提示VScl.exenmake.exe返回致命錯誤。錯誤羅列如下:

 

======================================================================

DefaultLocalizationStrategy.cpp

platform\DefaultLocalizationStrategy.cpp(327) :error C2001:
常量中有換行符

platform\DefaultLocalizationStrategy.cpp(327): fatal error C1057:
宏展開中遇到

意外的文件結束

DragData.cpp

DragImage.cpp

FileChooser.cpp

FileStream.cpp

FileSystem.cpp

GeolocationService.cpp

KillRingNone.cpp

KURL.cpp

Language.cpp

Length.cpp

LinkHash.cpp

Logging.cpp

MIMETypeRegistry.cpp

RuntimeApplicationChecks.cpp

SchemeRegistry.cpp

正在生成代碼...

正在編譯...

ScrollableArea.cpp

ScrollAnimator.cpp

Scrollbar.cpp

ScrollbarThemeComposite.cpp

ScrollView.cpp

SharedBuffer.cpp

SharedBufferCRLFLineReader.cpp

ThreadGlobalData.cpp

ThreadTimers.cpp

Timer.cpp

UUID.cpp

Widget.cpp

PlatformStrategies.cpp

LocalizedStrings.cpp

Cursor.cpp

正在生成代碼...

NMAKE : fatal error U1077:“"d:\Program Files\Microsoft Visual Studio 8\VC\BIN\

cl.EXE"”: 返回代碼“0x2”

Stop.

NMAKE : fatal error U1077:“"d:\Program Files\Microsoft Visual Studio 8\VC\BIN\

nmake.exe"”: 返回代碼“0x2”

Stop.

NMAKE : fatal error U1077: “cd”: 
返回代碼“0x2”

Stop.

NMAKE : fatal error U1077: “cd”: 
返回代碼“0x2”

Stop.

======================================================================

 

一直只關注到最後幾行的錯誤提示,其實編譯器已經調試到了錯誤地址,

platform\DefaultLocalizationStrategy.cpp(327) :error C2001:
常量中有換行符

是一個叫“DefaultLocalizationStrategy.cpp”的文件在325-327行中出現了問題,因此,順藤摸瓜,

 

D:\Qt\qt4.8.4\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp中:

       returnformatLocalizedString(WEB_UI_STRING("Look Up “%@”", "Look Upcontext menu item with selected word"), selectedCFString.get());

#else

   return WEB_UI_STRING("Look Up “<selection>”", "LookUp context menu item with selectedword").replace("<selection>",truncatedStringForLookupMenuItem(selectedString));

    

正是語句中兩邊使用了錯誤的引號,導致了編譯不通過。改成:

 

       returnformatLocalizedString(WEB_UI_STRING("Look Up""%@""", "Look Up context menu item with selectedword"), selectedCFString.get());

#else

   return WEB_UI_STRING("Look Up""<selection>""", "Look Up context menuitem with selected word").replace("<selection>",truncatedStringForLookupMenuItem(selectedString)); 

 

即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章