我正在尝试在Windows XP上编译Qt 4.5.1,目标是wince50。
我已经安装了先决条件(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.
我已经尝试过以前版本的Qt,低至4.4.3和两台不同的XP机器(一台带有干净的版本)和各种不同的配置选项。每次我得到同样的错误。
我错过了什么?
更新
好的,我还有一点,虽然这可能是一个死胡同。
如果我使用qt-all-opensource-src-4.5.1作为基础,那么运行configure它成功构建qmake,但随后失败的wince文件失败。所以我接着src并从qt-embedded-wince-opensource-src-4.5.1中包含文件夹并将它们复制到qt-all文件夹的顶部,然后configure成功完成。
但是随后nmake失败并出现以下错误:
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-embedded-wince-opensource-src-4.5.1版本缺少内容。
关于接下来要尝试编译的任何建议都非常受欢迎。
答案 0 :(得分:1)
您是否正确设置了环境变量?即拥有相应的INCLUDE和LIB定义的.bat通常很好。如果您已经安装了Qt,那么安装了一个Qt命令shell,可以作为一个很好的模板,为您提供具有正确环境变量的命令提示符,具体取决于您要使用的Qt版本。
答案 1 :(得分:0)
我也是 - 确保您下载了WinCE软件包而不是Windows安装程序,因为它不支持WinCE。
答案 2 :(得分:0)
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。