Multiple SDKs conflict
-
I have build the Qt source on Windows 10 using
Admin x64 Native Tools Command Prompt for VS 2019
and the command:configure.bat -debug-and-release -platform win32-msvc -opensource -confirm-license -force-debug-info -webengine-proprietary-codecs -feature-vulkan -no-schannel -openssl-linked -prefix "C:\Qt\6.6.0" -- -D OPENSSL_ROOT_DIR="C:\Program Files\OpenSSL"
After the compilation have finished
configure.bat > cmake --build . --parallel > cmake --install .
I had compiled the source many months ago until today I had not modified anything else in the sources or in any file on
C:\Qt\6.6.0
.
I did a small modification onqtextdocumentlayout.cpp
i had just changed:
idealWidth += marginWidth.toReal();
to
idealWidth += marginWidth.toReal() + 10
;and then i open
Admin x64 Native Tools Command Prompt for VS 2019
againcd C:\Qt\6.6.0
and calledninja
.It started compiling the modifications and stopped with this error:
C:\Qt\6.6.0>ninja [0/1784] Running ninja for QtWebEngineCore in C:/Qt/6.6.0/qtwebengine/src/core/Debug/AMD64ninja: Entering directory `C:/Qt/6.6.0/qtwebengine/src/core/Debug/AMD64' ninja: no work to do. [4/22] Building CXX object qtbase\src\gui\CMakeFiles\Gui.dir\RelWithDebInfo\text\qtextdocumentlayout.cpp.obj FAILED: qtbase/src/gui/CMakeFiles/Gui.dir/RelWithDebInfo/text/qtextdocumentlayout.cpp.obj C:\PROGRA2\MICROS 2\2019\PROFES1\VC\Tools\MSVC\1429 1.301\bin\Hostx64\x64\cl.exe /nologo /TP -DGui_EXPORTS -DMD4C_USE_UTF8 -DNOMINMAX -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_GUI_LIB -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x040800 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_MOC_COMPAT -DQT_NO_AS_CONST -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE -DQT_NO_USING_NAMESPACE -DQT_QPA_DEFAULT_PLATFORM_NAME="windows" -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_USE_MATH_DEFINES -D_WIN64 -D_WINDLL -DCMAKE_INTDIR="RelWithDebInfo" -IC:\Qt\6.6.0\qtbase\src\gui\Gui_autogen\include_RelWithDebInfo -IC:\Qt\6.6.0\qtbase\include -IC:\Qt\6.6.0\qtbase\include\QtGui -IC:\Qt\6.6.0\qtbase\src\gui -IC:\Qt\6.6.0\qtbase\src\gui..\3rdparty\VulkanMemoryAllocator -IC:\Qt\6.6.0\qtbase\src\gui..\3rdparty\D3D12MemoryAllocator -IC:\Qt\6.6.0\qtbase\include\QtGui\6.6.0 -IC:\Qt\6.6.0\qtbase\include\QtGui\6.6.0\QtGui -IC:\Qt\6.6.0\qtbase\src\gui..\3rdparty\md4c -IC:\Qt\6.6.0\qtbase\src\gui..\3rdparty\zlib\src -IC:\VulkanSDK\1.3.280.0\Include -IC:\Qt\6.6.0\qtbase\include\QtCore -IC:\Qt\6.6.0\qtbase\mkspecs\win32-msvc -IC:\Qt\6.6.0\qtbase\src\corelib -IC:\Qt\6.6.0\qtbase\include\QtCore\6.6.0 -IC:\Qt\6.6.0\qtbase\include\QtCore\6.6.0\QtCore -IC:\Qt\6.6.0\qtbase\src\3rdparty\libpng -IC:\Qt\6.6.0\qtbase\src\3rdparty\harfbuzz-ng\include\harfbuzz -IC:\Qt\6.6.0\qtbase\src\3rdparty\freetype\include /DWIN32 /D_WINDOWS /Zi /DNDEBUG -O2 -Ob3 -std:c++17 -MD /W3 /EHs-c- /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:ternary -Zc:externConstexpr -Zc:wchar_t -bigobj -guard:cf -Gw /YuC:/Qt/6.6.0/qtbase/src/gui/CMakeFiles/Gui.dir/RelWithDebInfo/cmake_pch.hxx /FpC:/Qt/6.6.0/qtbase/src/gui/CMakeFiles/Gui.dir/RelWithDebInfo/cmake_pch.cxx.pch /FIC:/Qt/6.6.0/qtbase/src/gui/CMakeFiles/Gui.dir/RelWithDebInfo/cmake_pch.hxx /showIncludes /Foqtbase\src\gui\CMakeFiles\Gui.dir\RelWithDebInfo\text\qtextdocumentlayout.cpp.obj /Fdqtbase\src\gui\CMakeFiles\Gui.dir\RelWithDebInfo\ /FS -c C:\Qt\6.6.0\qtbase\src\gui\text\qtextdocumentlayout.cpp C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\corecrt.h(263): error C2953: '_CrtEnableIf<true,_Ty>': class template has already been defined C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt.h(260): note: see declaration of '_CrtEnableIf<true,_Ty>'
Why is it trying to use two different sdks?
10.0.26100.0\ucrt\corecrt.h(263): 10.0.22621.0\ucrt\corecrt.h(260)
As i mentioned i did not modified anything else than
qtextdocumentlayout.cpp
and then i calledninja
.Even reverting the modification i continue getting the same compile error.
I tried to attach my
CMakeCache.txt
file but i wasn't allowed to upload files, i have upload it here.Why is this error happening?