Error on Qt 6 Building from source for Windows Based
-
i followed this link' instructions to build Qt 6.0.0 from qt-everywhere-src.zip, but i get these errors:
https://doc.qt.io/qt-6/windows-building.htmlI am using MSVC 2019.
error:
C:\Qt\Qt-6>configure.bat -prefix c:\Qt\Qt6
-
cd qtbase
-
C:\Qt\Qt-6\qtbase\configure.bat -top-level -prefix c:\Qt\Qt6
'C:/Program Files/CMake/bin/cmake.exe' '-DCMAKE_INSTALL_PREFIX=c://Qt//Qt6' '-G' 'Ninja' 'C:/Qt/Qt-6'
-- The C compiler identification is MSVC 19.28.29336.0
-- The ASM compiler identification is MSVC
-- Found assembler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:66 (message):
The C compiler"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/Qt/Qt-6/CMakeFiles/CMakeTmp
Run Build Command(s):C:/ninja-win/ninja.exe cmTC_00c4b && [1/2] Building C object CMakeFiles\cmTC_00c4b.dir\testCCompiler.c.obj
[2/2] Linking C executable cmTC_00c4b.exe
FAILED: cmTC_00c4b.exe
cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_00c4b.dir --rc=rc --mt="" --manifests -- "C:\PROGRA~2\Microsoft Visual Studio\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\link.exe" /nologo CMakeFiles\cmTC_00c4b.dir\testCCompiler.c.obj /out:cmTC_00c4b.exe /implib:cmTC_00c4b.lib /pdb:cmTC_00c4b.pdb /version:0.0 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
RC Pass 1: command "rc /fo CMakeFiles\cmTC_00c4b.dir/manifest.res CMakeFiles\cmTC_00c4b.dir/manifest.rc" failed (exit code 0) with the following output:
Le fichier sp├®cifi├® est introuvable
ninja: build -- Configuring incomplete, errors occurred!
stopped: subcommand failed.CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:11 (project)
See also "C:/Qt/Qt-6/CMakeFiles/CMakeOutput.log".
See also "C:/Qt/Qt-6/CMakeFiles/CMakeError.log".
CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:788 (message):
CMake exited with code 1.C:\Qt\Qt-6>
-
-
@Lemat Are you doing this from the Visual Studio command prompt? https://doc.qt.io/qt-6/windows-building.html shows how that can be done.
-
i got it, but errors again:
c:\Qt\Qt-6>configure.bat -prefix c:\Qt\Qt6
- cd qtbase
- c:\Qt\Qt-6\qtbase\configure.bat -top-level -prefix c:\Qt\Qt6
'C:/Program Files/CMake/bin/cmake.exe' '-DCMAKE_INSTALL_PREFIX=c://Qt//Qt6' '-G' 'Ninja' 'C:/Qt/Qt-6'
Check dependencies of 'qtbase'
Check dependencies of 'qt5compat'
Check dependencies of 'qtsvg'
Check dependencies of 'qtdeclarative'
Check dependencies of 'qttools'
Check dependencies of 'qtquickcontrols2'
Check dependencies of 'qtdoc'
Check dependencies of 'qtshadertools'
Check dependencies of 'qtquick3d'
Check dependencies of 'qtquicktimeline'
Check dependencies of 'qttranslations'
Check dependencies of 'qtwayland'
Configuring 'qtbase'
CMake Error at qtbase/cmake/QtBaseConfigureTests.cmake:40 (message):
Failed to find compiled architecture detection executable at
C:/Qt/Qt-6/qtbase/config.tests/arch/architecture_test.exe.
Call Stack (most recent call first):
qtbase/cmake/QtBaseConfigureTests.cmake:119 (qt_run_config_test_architecture)
qtbase/cmake/QtBaseConfigureTests.cmake:132 (qt_run_qtbase_config_tests)
qtbase/CMakeLists.txt:66 (include)
-- Configuring incomplete, errors occurred!
See also "C:/Qt/Qt-6/CMakeFiles/CMakeOutput.log".
See also "C:/Qt/Qt-6/CMakeFiles/CMakeError.log".
CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:788 (message):
CMake exited with code 1.c:\Qt\Qt-6>
-
Error again.
c:\Qt\build>c:\Qt\Qt-6\qtbase\configure.bat -top-level -prefix c:\Qt\Qt6
'C:/Program Files/CMake/bin/cmake.exe' '-DCMAKE_INSTALL_PREFIX=c://Qt//Qt6' '-G' 'Ninja' 'C:/Qt/Qt-6'
Check dependencies of 'qtbase'
Check dependencies of 'qt5compat'
Check dependencies of 'qtsvg'
Check dependencies of 'qtdeclarative'
Check dependencies of 'qttools'
Check dependencies of 'qtquickcontrols2'
Check dependencies of 'qtdoc'
Check dependencies of 'qtshadertools'
Check dependencies of 'qtquick3d'
Check dependencies of 'qtquicktimeline'
Check dependencies of 'qttranslations'
Check dependencies of 'qtwayland'
Configuring 'qtbase'
CMake Error at qtbase/cmake/QtBaseConfigureTests.cmake:40 (message):
Failed to find compiled architecture detection executable at
C:/Qt/qtbase/config.tests/arch/architecture_test.exe.
Call Stack (most recent call first):
qtbase/cmake/QtBaseConfigureTests.cmake:119 (qt_run_config_test_architecture)
qtbase/cmake/QtBaseConfigureTests.cmake:132 (qt_run_qtbase_config_tests)
qtbase/CMakeLists.txt:66 (include)-- Configuring incomplete, errors occurred!
See also "C:/Qt/CMakeFiles/CMakeOutput.log".
See also "C:/Qt/CMakeFiles/CMakeError.log".
CMake Error at Qt-6/qtbase/cmake/QtProcessConfigureArgs.cmake:788 (message):
CMake exited with code 1.c:\Qt\build>
-
Let me show you CMakeError.log:
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" did not produce an executable in "C:/Qt/CMakeFiles/3.18.4/CompilerIdCXX".
Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
** Visual Studio 2019 Developer Command Prompt v16.8.4
** Copyright (c) 2020 Microsoft Corporation
[vcvarsall.bat] Environment initialized for: 'x64'
Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
** Visual Studio 2019 Developer Command Prompt v16.8.4
** Copyright (c) 2020 Microsoft Corporation
[vcvarsall.bat] Environment initialized for: 'x64'
Checking whether the ASM compiler is GNU using "--version" did not match "(GNU assembler)|(GCC)|(Free Software Foundation)":
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation. All rights reserved.cl : Command line warning D9002 : ignoring unknown option '--version'
cl : Command line error D8003 : missing source filename
Checking whether the ASM compiler is Clang using "--version" did not match "(clang version)":
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation. All rights reserved.cl : Command line warning D9002 : ignoring unknown option '--version'
cl : Command line error D8003 : missing source filename
Checking whether the ASM compiler is AppleClang using "--version" did not match "(Apple LLVM version)":
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation. All rights reserved.cl : Command line warning D9002 : ignoring unknown option '--version'
cl : Command line error D8003 : missing source filename
Checking whether the ASM compiler is ARMClang using "--version" did not match "armclang":
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation. All rights reserved.cl : Command line warning D9002 : ignoring unknown option '--version'
cl : Command line error D8003 : missing source filename
Checking whether the ASM compiler is HP using "-V" did not match "HP C":
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation. All rights reserved.cl : Command line error D8004 : '/V' requires an argument
Checking whether the ASM compiler is Intel using "--version" did not match "(ICC)":
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation. All rights reserved.cl : Command line warning D9002 : ignoring unknown option '--version'
cl : Command line error D8003 : missing source filename
Checking whether the ASM compiler is SunPro using "-V" did not match "Sun C":
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation. All rights reserved.cl : Command line error D8004 : '/V' requires an argument
Checking whether the ASM compiler is XL using "-qversion" did not match "XL C":
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation. All rights reserved.cl : Command line warning D9002 : ignoring unknown option '-qversion'
cl : Command line error D8003 : missing source filename
Detecting CXX compiler ABI info failed to compile with the following output:
Change Dir: C:/Qt/CMakeFiles/CMakeTmpRun Build Command(s):C:/ninja-win/ninja.exe cmTC_ea43b && [1/2] Building CXX object CMakeFiles\cmTC_ea43b.dir\CMakeCXXCompilerABI.cpp.obj
FAILED: CMakeFiles/cmTC_ea43b.dir/CMakeCXXCompilerABI.cpp.obj
"C:\PROGRA~2\Microsoft Visual Studio\2019\COMMUN~1\VC\AUXILI~1\Build\vcvars64.bat" -o CMakeFiles\cmTC_ea43b.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\CMake\share\cmake-3.18\Modules\CMakeCXXCompilerABI.cpp"
[ERROR:vcvarsall.bat] Invalid argument found : -o
[ERROR:vcvarsall.bat] Invalid argument found : CMakeFiles\cmTC_ea43b.dir\CMakeCXXCompilerABI.cpp.obj
[ERROR:vcvarsall.bat] Invalid argument found : -c
La syntaxe de la commande n'est pas correcte.
ninja: build stopped: subcommand failed.
-
My qt6vars.cmd:
REM Set up Microsoft Visual Studio 2019, where <arch> is amd64, x86, etc.
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
SET _ROOT=C:\Qt\Qt-6
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET _ROOT= -
@Lemat said in Error on Qt 6 Building from source for Windows Based:
"C:\PROGRA~2\Microsoft Visual Studio\2019\COMMUN~1\VC\AUXILI~1\Build\vcvars64.bat" -o CMakeFiles\cmTC_ea43b.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\CMake\share\cmake-3.18\Modules\CMakeCXXCompilerABI.cpp"
This looks strange. This should be the call to the compiler, but instead vcvars64.bat is called. Can you show your script you created as described in the link (qt6vars.cmd)?
-
My qt6vars.cmd:
REM Set up Microsoft Visual Studio 2019, where <arch> is amd64, x86, etc.
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
SET _ROOT=C:\Qt\Qt-6
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET _ROOT= -
@Lemat said in Error on Qt 6 Building from source for Windows Based:
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
I'm not very familiar with Windows build environment, but is that OK?
I mean, it looks like the 64 bit version of cl.exe is being used, but it's strange that the Visual Studio installation went to the x86 folder, as a 32 bit application?Could you please describe your environment? i.e. Windows OS version and platform, same for Visual Studio.
-
Windows 10 Professional 20H2 19042.685 X64
Microsoft Visual Studio Community 2019
Version 16.8.4i use this same MSVC version to build my Qt x64 apps.