我的环境:
xp、vs2008、wince sdk5、qt everywhere4.8.1
编译前要做如下准备,共5项:
1. replace 3rdparty\zlib and 3rdparty\zlib.pri with same from qt 4.7.3 sources
2. in corelib\tools\qlocale_tools.cpp add the following line
#include <private/qfunctions_p.h>
3. in corelib\io\qfsfileengine_win.cpp change line 553
Fom:
return QFileSystemEngine::currentPath();
To:
return QFileSystemEngine::currentPath().filePath();
4. in corelib\kernel\qsystemerror.cpp change code from line 104
From:
ret = QString::fromLocal8Bit(strerror(errorCode));
To:
ret = QString::fromLatin1(QT_TRANSLATE_NOOP("QIODevice", "System error"));
5. 将 sqlite3.cpp中的:
#define HAVE_LOCALTIME_S 1
修改为:
#define HAVE_LOCALTIME_S 0
configure -platform win32-msvc2008 -xplatform wince50standard-armv4i-msvc2008 -opensource
-nomake demos -nomake examples -nomake docs -no-qt3support -no-opengl -no-phonon -no-phonon-backend -no-webkit
注意:
该版本nmake confclean会将\src\corelib\global下的qconfig.h和qconfig.cpp清掉。
在nmake confclean之前,保存qconfig.h和qconfig.cpp,nmake confclean之后再拷贝回去。