环境
已测试vs2008, wince 5.0 standard sdk 或windows mobile 6.0 professional,需要ActivePerl
开始之前先要打补丁,貌似QtGui链接时会有错误,是libpng有函数未定义,对于4.7.4只要改成如下的代码就型。
src/3rdparty/libpng/pnglibconf.h
#ifndef _WIN32_WCE
#define PNG_CONVERT_tIME_SUPPORTED
#endif
src/3rdparty/libpng/pngpriv.h
#ifdef _MSC_VER
# ifndef _CRT_SECURE_NO_DEPRECATE
# define _CRT_SECURE_NO_DEPRECATE
#endif
#endif
然后可以开始编译了
第一步,打开开始菜单里的Visual Studio Command Prompt,这样编译器环境就设置好了。
第二部,设置构建时用到的qmake,moc等路径到PATH,还有wince工具相关路径
set QTCE_VERSION=4.7.4
set BUILD_DIR=D:\build\qt%QTCE_VERSION%-wce5-vc9
cd /d %BUILD_DIR%
set PATH=%PATH%;%BUILD_DIR%\bin
set VC9CE_DIR=E:\Microsoft Visual Studio 9.0\VC\ce
set CETOOL_DIR=E:\Windows.CE.Tools\wce500\STANDARDSDK_500
set QTCE_DIR=E:\QtSDK\Embedded\%QTCE_VERSION%\wince50std-armv4i-vc90
第三步,configure
configure -opensource -prefix %QTCE_DIR% -platform win32-msvc2008 -xplatform wince50standard-armv4i-msvc2008 -release -shared -fast -stl -qt-sql-sqlite -no-qt3support -no-declarative-debug -nomake demos -nomake examples -nomake docs -qt-libpng -qt-libtiff -qt-libjpeg -qt-libmng -qt-zlib -script -scripttools -webkit
freetype, openssl不知道如何编译。
第四步,构建
配置好后会提示你setcepaths,就按提示的做。不过之前还要重新设置下路径,否则马上会出现编译错误,好像是头文件包含错误,忘了
set INCLUDE=%VC9CE_DIR%\include;%CETOOL_DIR%\Include\Armv4i
set LIB=%VC9CE_DIR%\lib\armv4i;%CETOOL_DIR%\Lib\ARMV4I
set PATH=%VC9CE_DIR%\bin\x86_arm;%PATH%
setcepaths wince50standard-armv4i-msvc2008
nmake
最后如果需要的话可以提取下私有头文件
参考文献