> -----Original Message----- > From: Development <development-boun...@qt-project.org> On Behalf Of > Thiago Macieira > Sent: Monday, 16 November 2020 17:34 > To: development@qt-project.org > Subject: Re: [Development] QThread::create mandatory in Qt 6? > > On Sunday, 15 November 2020 23:55:24 PST Allan Sandfeld Jensen wrote: > > > ✗ clang-cl with MS STL (currently broken) > > > > It is? I often use this when building qtwebengine for Windows. Been > > advocating for an automated test for a while. > > Tony, what environment exactly were you using? How is winlibs.com > different from the standard MS STL? >
Winlibs is shipping GCC MinGW and Clang built for the GNU MinGW target. $ gcc --version gcc (MinGW-W64 x86_64-posix-seh, built by Brecht Sanders) 10.2.0 $ clang --version (built by Brecht Sanders) clang version 11.0.0 Target: x86_64-w64-windows-gnu Thread model: posix InstalledDir: c:\winlibs\bin $ clang-cl --version (built by Brecht Sanders) clang version 11.0.0 Target: x86_64-pc-windows-msvc Thread model: posix InstalledDir: c:\winlibs\bin Note that if you have clang-cl it doesn't mean that it will work with the GNU MinGW target. Clang-cl requires the MSVC target, and at the moment we don't have the mkspec mapping to win32-clang-msvc in the CMake code. To make this work it requires a few changes to the build system because of how the compiler is identified (both Clang and MSVC, requires special handling in the CMake code) Qt 6 at the moment can be complied with Clang, which will map the mkspec win32-clang-g++. LLVM.org is shipping their Windows binaries built for the MSVC target: $ clang --version clang version 11.0.0 Target: x86_64-pc-windows-msvc Thread model: posix InstalledDir: c:\Program Files\LLVM\bin $ clang-cl --version clang version 11.0.0 Target: x86_64-pc-windows-msvc Thread model: posix InstalledDir: c:\Program Files\LLVM\bin If you are using Clang it doesn't mean that you need to have the GNU MinGW target, you will end up with binaries depending on MSVCP140.dll and VCRUNTIME140.dll. Qt6 should in theory work if you set up: 1. "c:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64 2. set PATH=c:\Program Files\LLVM\bin;%PATH% 3. set CC=clang 4. set CXX=clang 5. <configure Qt6> 6. <build Qt6> For a Clang with a GNU MinGW standalone target option we could use https://github.com/mstorsjo/llvm-mingw, which is open source, but it uses libc++ instead of libstdc++, which might be not so well supported on Windows. $ clang --version clang version 11.0.0 (https://github.com/llvm/llvm-project.git 176249bd6732a8044d457092ed932768724a6f06) Target: i686-w64-windows-gnu Thread model: posix InstalledDir: c:\llvm-mingw\bin $ clang-cl --version 'clang-cl' is not recognized as an internal or external command, operable program or batch file Note that both winlibs and llvm-mingw do not have Python support enabled for the debugger and cannot be used with Qt Creator. Cheers, Cristian. _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development