Solved Error on Qt 6 Building from source for Windows Based
-
@Lemat You should clean the source tree (c:\Qt\Qt-6\qtbase) before executing configure again. Better to do out-of-source build:
mkdir build cd build c:\Qt\Qt-6\qtbase\configure.bat -top-level -prefix c:\Qt\Qt6
-
Let me try again
-
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>
-
@Lemat You should check C:/Qt/CMakeFiles/CMakeError.log to see what exactly went wrong.
-
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.
-
@jsulm
owww !!, that is the CXX variable i set in system environment. i should change it to vcvarsall.bat -
@Lemat
right ? you agree ? -
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.
-
or what is the right compiler path ? this one ?: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x64
-
@Lemat I think that path is correct. Visual Studio itself is a x86 application, but it has compiler which generates x86_64 binaries.
-
@jsulm all right
-
should i set a real compiler path in the system environment variable CXX ?? i don't know the real compiler file name. my actual Qt 5.15.2 has detected it automatically. i am looking in her settings to find the compiler file name, but nothing.
-
@Lemat I don't think so. It should work as described on that web page. I don't know why it doesn't work for you.
-
i really need help for that. i tried anything, but nothing. Maybe cmake version ?
-
Tools used:
Cmake version: 3.18.4 x64
Python: 3.7.3 x64
ActivePerl: 5.28 x64
Ninja: 1.10.2 -
Hi,
IIRC, cmake 3.19.2 or newer is recommended but I don't have the source at hand.