Details
-
Suggestion
-
Resolution: Out of scope
-
P4: Low
-
None
-
6.0.0
-
None
Description
I can not build Qt 6.0.0 with ClangCl (also called clang-cl) on MSVC due to a missing symbol. I'm using Microsoft VS2019 v16.8.3 (current latest) with the Visual-Studio-supplied ClangCl 10.0.0.
The error I get is:
FAILED: qtbase/bin/Qt6Cored.dll qtbase/lib/Qt6Cored.lib qtbase/src/corelib/Core.version cmd.exe /C "cmd.exe /C "cd /D C:\data\tmp\qt\qtbase\src\corelib && C:\bda-ci\ActivePerl\bin\perl.exe C:/data/tmp/qt/qtbase/mkspecs/features/data/unix/findclasslist.pl < C:/data/tmp/qt/x64/qtbase/src/corelib/Core.version.in > C:/data/tmp/qt/x64/qtbase/src/corelib/Core.version && cd C:\data\tmp\qt\x64" && C:\data\user-artifacts-ClangCl-Haswell-7-x64-cl19.28.29335_clang10.0.0\Tools\bin\cmake.exe -E vs_link_dll --intdir=qtbase\src\corelib\CMakeFiles\Core.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\mt.exe --manifests -- C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\Llvm\x64\bin\lld-link.exe @CMakeFiles\Core.rsp /out:qtbase\bin\Qt6Cored.dll /implib:qtbase\lib\Qt6Cored.lib /pdb:qtbase\bin\Qt6Cored.pdb /dll /version:6.0 /machine:x64 /MACHINE:X64 /DEBUG:FULL /debug -Wl,--version-script,C:/data/tmp/qt/x64/qtbase/src/corelib/Core.version -Wl,--no-undefined -DYNAMICBASE -NXCOMPAT && cd ." LINK: command "C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\Llvm\x64\bin\lld-link.exe @CMakeFiles\Core.rsp /out:qtbase\bin\Qt6Cored.dll /implib:qtbase\lib\Qt6Cored.lib /pdb:qtbase\bin\Qt6Cored.pdb /dll /version:6.0 /machine:x64 /MACHINE:X64 /DEBUG:FULL /debug -Wl,--version-script,C:/data/tmp/qt/x64/qtbase/src/corelib/Core.version -Wl,--no-undefined -DYNAMICBASE -NXCOMPAT /MANIFEST /MANIFESTFILE:qtbase\bin\Qt6Cored.dll.manifest" failed (exit code 1) with the following output: lld-link: error: undefined symbol: wmemchr >>> referenced by C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\include\xstring:258 >>> qtbase\src\corelib\CMakeFiles\Core.dir\global\qglobal.cpp.obj:(public: static wchar_t const * __cdecl std::_WChar_traits<wchar_t>::find(wchar_t const *, unsigned __int64, wchar_t const &))
I think the issue is related to this upstream LLVM issue: https://bugs.llvm.org/show_bug.cgi?id=41226#c16
But I'm not knowledgeable enough to apply this fix to Qt. Any help would be greatly appreciated.