我試圖在裝有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處理)?有關這個問題的任何建議嗎?