LNK1112: module machine type ' X86' conflicts with target machine type 'THUMB'
Я пытаюсь собрать Qt для Windows CE / Windows Mobile и следую этому руководству: http://doc.qt.io/archives/4.6/install-wince.html
Вот шаги, которые я предпринял до сих пор:
- Я скачал qt -where-opensource-src-4.6.3
- Извлечено в C: \ Qt \ qt -where-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 -where-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 не обнаружен, хотя я могу создавать, создавать и запускать приложения Windows Mobile Professional 6.5 из Visual Studio 2008.
Тем не менее команда 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.