Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.0 Beta 3
-
None
-
Windows 10
Description
I'm trying to build qt 5.9b3 from source for the platform winrt-x86-msvc2017 using VS2017, but I get the following error when running configure..
Command line: -xplatform winrt-x86-msvc2017 -debug-and-release -force-debug-info -separate-debug-info -nomake examples -nomake tests -opensource -confirm-license -mp -prefix C:\Qt\Qt5.9.0b3_winrt_x86 -no-openssl executing config test verifyspec + cd /d E:\qt5\qtbase\config.tests\common\verifyspec && e:\qt5\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" "QMAKE_LFLAGS += /ENTRY:main" -early "CONFIG += cross_compile" E:/qt5/qtbase/config.tests/common/verifyspec + cd /d E:\qt5\qtbase\config.tests\common\verifyspec && set MAKEFLAGS=& nmake > Microsoft (R) Program Maintenance Utility Version 14.10.25019.0 > Copyright (C) Microsoft Corporation. All rights reserved. > cl -c -nologo -FS -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -GR -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQ_BYTE_ORDER=Q_LITTLE_ENDIAN -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -DWINAPI_PARTITION_PHONE_APP=1 -DX86 -D__X86__ -D__x86__ -DNDEBUG -I. -IE:\qt5\qtbase\mkspecs\winrt-x86-msvc2017 -Fo @C:\Users\marks\AppData\Local\Temp\nm3CC5.tmp > verifyspec.cpp > link /NOLOGO /DYNAMICBASE /NXCOMPAT /NODEFAULTLIB:ole32.lib /APPCONTAINER /SAFESEH /MACHINE:X86 /NODEFAULTLIB:kernel32.lib /VERBOSE /ENTRY:main /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /MANIFEST:NO /OUT:verifyspec.exe @C:\Users\marks\AppData\Local\Temp\nm3D14.tmp > Starting pass 1 > Processed /DEFAULTLIB:MSVCRT > Processed /DEFAULTLIB:OLDNAMES > LINK : fatal error LNK1181: cannot open input file 'ucrt.lib' > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\link.EXE"' : return code '0x49d' > Stop.
I'm running this from a vs2017 developer command prompt, I've attached the output of my cmd env.
When I look at the Makefile for verifyspec, the LIB path is wrong for the ucrt lib. It is currently set to:
LIB = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\lib\win32\store;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\lib\win32;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\ucrt\win32;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\win32
It is using 'win32' in the path, but this should be 'x86'.
How is this path determined and do I need to be doing something else for qt5.9 when configuring? As I'm currently just re-using the same command I used when configuring qt5.8.
Attachments
For Gerrit Dashboard: QTBUG-60530 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
193244,3 | VS 2017: Fall back to "x86" as arch if it is not "arm" or "x64" | 5.9 | qt/qtbase | Status: MERGED | +2 | 0 |