2014-02-18 34 views
0

我試圖在裝有ActivePerl等的Windows 7 64位計算機上使用Visual Studio 2005 Professional構建qt 5.2.1(opensource.zip)。我用Visual Studio 2005命令提示符下使用下面這行配置:爲windows ce構建Qt 5.2 6

configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005 -opensource -nomake examples 

其中約2分鐘:

… 
qglobal.cpp 
qmalloc.cpp 
qlibraryinfo.cpp 
qnumeric.cpp 
qlogging.cpp 
D:\qt-source5.2.1\qtbase\src\corelib\global\qlogging.cpp(96) : error C3861:    「GetConsoleWindow」: identifier not found. 
Code will be generated… 
NMAKE : fatal error U1077: 「「C:\Program Files (x86)\Microsoft Visual Studio  8\VC\BIN\cl.EXE」「: return code 「0×2」 
Stop. 
Building qmake failed, return code 2 

我也試着做只是一個簡單的後結束了在下面的輸出:,

configure 

在Visual Studio 2005命令提示符 - >結束時出現相同的錯誤。 有人知道這裏有什麼錯嗎?我在做一些完全錯誤的事情還是錯過了什麼? 我也發佈了這個qt的論壇的一個用戶創建的線程有類似的問題 - >http://qt-project.org/forums/viewthread/36177/ 但沒有人在那裏回答。編輯:今天我更新了我的問題在QT論壇。見 - >http://qt-project.org/forums/viewthread/36177/我修改了問題的文件qtbase的\ src \ corelib的\全球\ qlogging.h並增加了以下在它的上面:

#ifndef _WIN32_WINNT 
#define _WIN32_WINNT 0×0500 
#endif 

我發現這個解決方案,同時搜索「getConsoleWindow」的問題。在這裏寫下參考 - >http://msdn.microsoft.com/en-us/library/windows/desktop/ms683175(v=vs.85).aspx 之後,我的配置運行良好,沒有任何問題。但是現在我在調用nmake之後預期會出現以下錯誤。 NMAKE運行約30分鐘後,我得到這個輸出:

d:\readonly\qtsrc\qtbase\include\qtcore\../../src/corelib/tools/qvector.h(666) : error 
C2244: 'QVector<T>::erase' : unable to match function definition to an existing declaration definition 'QVector<T>::iterator  QVector<T>::erase(QTypedArrayData<T>::iterator,QTypedArrayData<T>::iterator)' 
existing declarations 
'QTypedArrayData<T>::iterator QVector<T>::erase(QTypedArrayData<T>::iterator)' 
'QTypedArrayData<T>::iterator QVector<T>::erase(QTypedArrayData<T>::iterator,QTypedArrayData<T>::iterator)' 

有一些錯誤,但所有QVector ::插入和QVector ::擦除。我谷歌搜索了一下,發現這個帖子在這裏看起來像一個類似的問題,也不答覆:http://qt-project.org/forums/viewthread/36735 我想我不得不說,我編譯爲自定義ce sdk。所以我更改了qtbase \ mkspecs \ wince60standard-armv4i-msvc2005 \ qmake.conf並在其中添加了附加包含和庫。我也使用下面定義的那裏:

DEFINES += WINCE WINDOWS WINDOWS_CE_OS _WIN32_WCE=0×600 UNDER_CE=0×600 ARM _ARM ARMV4I UNICODE UNICODE _USE_32BIT_TIME_T _CRT_SECURE_NO_DEPRECATE $$CE_ARCH _AMRV7 armv7 ARM QT_NO_CLIPBOARD QT_NO_ACCESSIBILITY QT_NO_NATIVE_GESTURES QT_NOSTANDARDSHELL_UI_MODEL 

是否很難編譯qt 5.2.1 for ce?我應該使用舊版本的qt(我需要至少qt5的JSON處理)?有關這個問題的任何建議嗎?

回答

0

對JSON使用thirdpaty庫。 Visual Studio 2005過於老舊的編譯器。例如 - jsoncpp或QJson。