标题:vs2008编译ARM-WINCE6.0的Qt4.6.3出错
作者:luohui8891
日期:2010-07-12 08:56
内容:
各位好,小弟最近拿到一块板子是ARM11的,烧写了WINCE6.0的内核。想移植Qt4.6.3到板子上去。我的交叉编译环境为:WindowsXP SP3 + VS2008
于是按着以前的经验开始了交叉编译工作:
1.下载并解压了qt-everywhere-opensource-src-4.6.3,确保该目录的绝对路径没有空格和中文;
2.将qt-everywhere-opensource-src-4.6.3\bin加入到环境变量PATH中;
3.在Visual Studio Tools中打开命令提示符窗口(已经设置好nmake等环境变量);
4.配置Qt库,参数如下所示:
configure.exe -release -shared -fast -exceptions -stl -no-dsp -vcproj -qmake -no-style-windows -no-style-windowsxp -no-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -saveconfig "wince" -qt-zlib -qt-gif -qt-libpng -no-libjpeg -no-libmng -no-qt3support -platform win32-msvc2008 -xplatform wince60standard-armv4i-msvc2008 -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-script -no-scripttools -no-webkit
说明:突然发现qt-everywhere-opensource-src-4.6.3\mkspecs下并没有wince60standard-armv4i-msvc2008,在参考了改目录下其他spec和网上的资料以后,自己增加了wince60standard-armv4i-msvc2008,我是这么做的,直接拷贝一份wince60standard-armv4i-msvc2005目录,将名字改成wince60standard-armv4i-msvc2008,然后将该目录下的qmake.conf的内容改为:
include(../wince60standard-armv4i-msvc2005/qmake.conf)
QMAKE_COMPILER_DEFINES -= _MSC_VER=1400
QMAKE_COMPILER_DEFINES += _MSC_VER=1500
5.在配置完成以后,设置编译的环境变量,我的设置是这样的:
set INCLUDE=D:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include;D:\Program Files\Windows CE Tools\wce600\magellan\Include\Armv4i
set LIB=D:\Program Files\Microsoft Visual Studio 9.0\VC\ce\lib\armv4i;D:\Program Files\Windows CE Tools\wce600\magellan\Lib\ARMV4I
set PATH=D:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%PATH%
说明:D:\Program Files\Microsoft Visual Studio 9.0为本人的VS2008安装目录,D:\Program Files\Windows CE Tools\wce600\magellan为板子上内核的SDK安装目录。
6.然后执行nmake命令,进行漫长的交叉编译过程,果断报错,最后一段信息为:
&nb ..