【发布时间】:2010-07-26 11:22:58
【问题描述】:
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
这些是我目前采取的步骤:
- 我下载了qt-everywhere-opensource-src-4.6.3
- 解压到 C:\Qt\qt-everywhere-opensource-src-4.6.3
- 打开 Visual Studio 命令提示符并运行以下命令
configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008 -webkit -openssl -arch windowsce -opensource -qt-gif -qt-libjpeg -qt-libpng - 配置步骤成功完成。
- 我尝试
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)
由于某种原因,没有检测到 Windows Mobile Professional 6.5 SDK,即使我可以从 Visual Studio 2008 创建、构建和运行 Windows Mobile Professional 6.5 应用程序。
尽管如此,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.
【问题讨论】:
标签: c++ qt windows-ce