如何在Windows XP上为WinCE编译Qt 4.5.1?

如何在Windows XP上为WinCE编译Qt 4.5.1?,qt,qt4,windows-ce,Qt,Qt4,Windows Ce,我正试图在Windows XP上针对wince50编译Qt 4.5.1 我已经安装了先决条件(VS2008、WinCE50SDK、ActivePerl 5.10),并下载了qt-embedded-wince-opensource-src-4.5.1.zip,它已安装在c:\qt\4.5.1中,c:\qt\4.5.1\bin已添加到路径中 从VS命令提示符,我导航到c:\Qt\4.5.1并执行以下操作: configure -platform win32-msvc2008 -xplatform w

我正试图在Windows XP上针对wince50编译Qt 4.5.1

我已经安装了先决条件(VS2008、WinCE50SDK、ActivePerl 5.10),并下载了qt-embedded-wince-opensource-src-4.5.1.zip,它已安装在c:\qt\4.5.1中,c:\qt\4.5.1\bin已添加到路径中

从VS命令提示符,我导航到c:\Qt\4.5.1并执行以下操作:

configure -platform win32-msvc2008 -xplatform wince50standard-armv4i-msvc2008 -qt-gif -qt-libjpeg -qt-libpng -webkit -openssl -arch windowsce -opensource -iwmmxt
我得到以下错误:

c:\qt\4.5.1\include\qtcore\../../src/corelib/tools/qvector.h(758) : fatal error C1083: Cannot open include file: 'QtCore/QPointF': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
tmp\obj\debug_shared\qtmain_win.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'THUMB'
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\lib.EXE"' : return code '0x458'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
我已经在Qt的早期版本(4.4.3)和两台不同的XP机器(一台具有干净的构建)以及各种不同的配置选项上尝试过这一点。每次我都会犯同样的错误

我错过了什么

更新:
好的,我还有一点,虽然这可能是一条死胡同

如果我使用qt-all-opensource-src-4.5.1作为基础,然后运行configure,它将成功构建qmake,但在缺少wince文件时失败。然后我从qt-embedded-wince-opensource-src-4.5.1中获取src和include文件夹,并将它们复制到qt-all文件夹的顶部,然后配置成功完成

但是nmake失败,出现以下错误:

c:\qt\4.5.1\include\qtcore\../../src/corelib/tools/qvector.h(758) : fatal error C1083: Cannot open include file: 'QtCore/QPointF': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
tmp\obj\debug_shared\qtmain_win.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'THUMB'
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\lib.EXE"' : return code '0x458'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
configure使用这种方法的事实对我来说意味着qt-embedded-wince-opensource-src-4.5.1版本缺少内容


任何关于下一步如何进行编译的建议都是非常受欢迎的。

您是否正确设置了环境变量?也就是说,有一个包含相应INCLUDE和LIB定义的.bat通常是很好的。如果您已经安装了Qt,那么安装了一个Qt命令shell,可以作为一个很好的模板,根据您要使用的Qt版本,给出具有正确环境变量的命令提示符。

我也这样做了-确保您下载了WinCE软件包,而不是Windows installer,因为它不支持WinCE。

Qt-embedded-WinCE-opensource-src-4.5.1.zip似乎没有丢失文件,它应该包含
include\QtCore\QPointF
。我测试了这个源程序包,我可以很好地进行配置

解压缩源程序包后,文件
c:\Qt\4.5.1\include\QtCore\QPointF
是否存在

我可能在这里抓住了救命稻草,但是:您使用了什么程序来解压源代码?错误消息中的文件名全部以小写显示,解压程序是否将所有文件都转换为小写?您是否使用区分大小写的文件系统?(我不知道这在Windows上是否可能…)这可能是一种误导,因为据我所知,cl.exe在错误消息中任意使用小写文件名


如果这没有帮助,请发布更多错误,这样我们就可以知道编译失败的原因以及传递给cl.exe的参数。

我完全按照此处所述的说明进行了操作:步骤4(make)是设置Qt环境变量,我无法通过步骤3(configure)。即使在运行configure之前从步骤4设置环境变量,我仍然会收到相同的错误。我确信src版本中肯定有一些丢失的文件,或者缺少一个未记录的步骤。今天我甚至用VS2005创建了一台新机器,以确保不是VS2008导致了问题,但我仍然得到了相同的错误。