如何在Windows系统下为Windows Mobile(Windows CE)编译Qt 4.6.3?

4
LNK1112: module machine type ' X86' conflicts with target machine type 'THUMB'

我正在尝试为Windows CE / Windows Mobile构建Qt,并遵循此指南:http://doc.qt.io/archives/4.6/install-wince.html 以下是我迄今为止采取的步骤:
1. 我下载了qt-everywhere-opensource-src-4.6.3 2. 解压到C:\ Qt \ qt-everywhere-opensource-src-4.6.3 3. 打开Visual Studio命令提示符并运行以下命令configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008 -webkit -openssl -arch windowsce -opensource -qt-gif -qt-libjpeg -qt-libpng 4. 配置步骤成功完成。 5. 我尝试setcepaths wincewm60professional-msvc2008,然后出现以下错误
“找不到指定的SDK:Windows Mobile 6 Professional SDK(ARMV4I)” “'tmp_created_script_setup.bat'不被认为是内部或外部命令,可操作的程序或批处理文件。” “找不到C:\ Qt \ qt-everywhere-opensource-src-4.6.3 \ tmp_created_script_setup.bat” “选择了Windows Mobile 6 Professional,环境已设置”
这可能是我的问题,因为如果我键入checksdk -list,则会得到此输出。
Available SDKs:
SDK Name: Pocket PC 2003 (ARMV4)
SDK Name: Smartphone 2003 (ARMV4)

由于某些原因,即使我可以在Visual Studio 2008中创建、构建和运行Windows Mobile Professional 6.5应用程序,但无法检测到Windows Mobile Professional 6.5 SDK。

不过,setcepaths命令应该设置一些环境变量以覆盖默认的Visual Studio包含路径,并包含它们的Windows Mobile对应项,因此我按照指南自己设置了它们:

set INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include;C:\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i
set LIB=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\lib\armv4i;C:\Program Files\Windows Mobile 6 SDK\PocketPC\Lib\Armv4i
set PATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%PATH%

安装完成后,我尝试运行nmake,但是遇到了以下错误:

C:\Qt\qt-everywhere-opensource-src-4.6.3>nmake

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        cd src\winmain\ && "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\
nmake.exe" -f Makefile

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f Makef
ile.Debug all

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        lib /SUBSYSTEM:WINDOWSCE,5.02 /MACHINE:THUMB /OUT:..\..\lib\qtmaind.lib
@C:\Users\AHMED~1.SAB\AppData\Local\Temp\nm6312.tmp
Microsoft (R) Library Manager Version 9.00.21022.08
Copyright (C) Microsoft Corporation.  All rights reserved.

tmp\obj\debug_shared\qtmain_win.obj
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\ce\
bin\x86_arm\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.
2个回答

0
  1. 下载并安装用于Windows的Open Source C++ Qt SDKhttp://qt.nokia.com/downloads/sdk-windows-cpp
  2. 安装Visual Studio。
  3. 安装Visual Studio SP1。
  4. 安装 .Net Compact Framework。
  5. 如果操作系统为XP或更早版本,请安装Microsoft Active Sync。
  6. 如果操作系统为Vista或更高版本,请安装Windows Mobile Device Center。
  7. 安装Windows Mobile 6 SDK。
  8. 下载并提取Qt C++ WinCE SDK(例如C:\ Qt \ QtWinCE)。
  9. 下载并安装Qt C++ Windows for Visual Studio(例如C:\ Qt \ QtVS2008)。
  10. 在Qt WinCE文件夹和Qt C++ Windows for Visual Studio文件夹中安装Qt Visual Studio插件。
  11. 更改系统环境变量:
    • set INCLUDE=C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ include; C:\ Program Files(x86)\ Windows Mobile 6 SDK \ PocketPC \ Include \ Armv4i;
    • set LIB=C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ lib \ armv4i; C:\ Program Files(x86)\ Windows Mobile 6 SDK \ PocketPC \ Lib \ Armv4i;
    • set QTDIR=C:\ Qt \ QtWinCE; C:\ Qt \ QtVS2008; C:\ Qt \ 2010.02.1; C:\ Qt \ 2010.02.1 \ qt;
    • set PATH=C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ ce \ bin \ x86_arm;%PATH%;
  12. 进行配置。
  13. 设置cepaths wincewm60professional-msvc2008
  14. 运行nmake

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接