[Interest] Qt6 CMake Windows VS Debug Build Issues
Oliver Niebuhr
googleersatz at oliverniebuhr.de
Tue Jun 30 06:26:15 CEST 2020
Quick answer to Issue Number 1: I had to shorten the Out-Of-Source
Directory Name a little. Need to test multiple Variants - I just
reorganized the Naming Scheme and would hate redo everything again :(
Interestingly enough: The same Name / Directory Length works with QMAKE
and JOM (Qt 5.15 and Qt 6).
Am 30/06/2020 um 05:18 schrieb Oliver Niebuhr:
> Hello List.
>
> I keep running into some Issues when trying to build a Debug Build with
> * Clang 10.0.1, build from Git, with VS 2019, Release build
> * CMake 3.17.3
> * Ninja 1.10
> * VS 2019 16.6.2
> * Qt 6 Dev Branch: latest Git
>
> Issue Number 1 is a too long Input Line. No problem with Release builds
> though.
> "[1/1547] Automatic QML type registration for target
> qmlfolderlistmodelplugin
> FAILED:
> qtdeclarative/src/imports/folderlistmodel/qmlfolderlistmodelplugin_qmltyperegistrations.cpp
>
> cmd.exe /C "cd /D
> C:\Dev\QtSrcx86DevMSVC\qtdeclarative\src\imports\folderlistmodel && set
> "PATH=C:\Dev\QtSrcx86DevMSVC\qtdeclarative\bin;C:\Dev\Qtx86DevDebugMSVC\bin;%PATH%"
> && C:\Dev\QtSrcx86DevMSVC\qtbase\bin\qmltyperegistrar.exe
> --generate-qmltypes=C:/Dev/QtSrcx86DevMSVC/qtdeclarative/src/imports/folderlistmodel/plugins.qmltypes
> --import-name=Qt.labs.folderlistmodel --major-version=6
> --minor-version=0
> @C:/Dev/QtSrcx86DevMSVC/qtdeclarative/src/imports/folderlistmodel/qmltypes/foreign_types.txt
> -o
> C:/Dev/QtSrcx86DevMSVC/qtdeclarative/src/imports/folderlistmodel/qmlfolderlistmodelplugin_qmltyperegistrations.cpp
> C:/Dev/QtSrcx86DevMSVC/qtdeclarative/src/imports/folderlistmodel/meta_types/qt6qmlfolderlistmodelplugin_debug_metatypes.json"
> The input line is too long."
>
> Issue Number 2 is a "mismatch detected for '_ITERATOR_DEBUG_LEVEL'" with
> "[4/1547] Linking CXX executable qtbase\bin\lupdate.exe
> FAILED: qtbase/bin/lupdate.exe
> cmd.exe /C "cd . && C:\Dev\CMake\bin\cmake.exe -E vs_link_exe
> --intdir=qttools\src\linguist\lupdate\CMakeFiles\lupdate.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~2\2019\COMMUN~1\VC\Tools\MSVC\1426~1.288\bin\Hostx64\x86\link.exe
> /nologo @CMakeFiles\lupdate.rsp /out:qtbase\bin\lupdate.exe
> /implib:qttools\src\linguist\lupdate\lupdate.lib
> /pdb:qtbase\bin\lupdate.pdb /version:0.0 /machine:X86 /DYNAMICBASE
> /SUBSYSTEM:CONSOLE,10.0 /DEBUG:FASTLINK /GUARD:CF /INCREMENTAL /NXCOMPAT
> /subsystem:console -DYNAMICBASE -NXCOMPAT && cd ."
> LINK Pass 1: command
> "C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1426~1.288\bin\Hostx64\x86\link.exe
> /nologo @CMakeFiles\lupdate.rsp /out:qtbase\bin\lupdate.exe
> /implib:qttools\src\linguist\lupdate\lupdate.lib
> /pdb:qtbase\bin\lupdate.pdb /version:0.0 /machine:X86 /DYNAMICBASE
> /SUBSYSTEM:CONSOLE,10.0 /DEBUG:FASTLINK /GUARD:CF /INCREMENTAL /NXCOMPAT
> /subsystem:console -DYNAMICBASE -NXCOMPAT /MANIFEST
> /MANIFESTFILE:qttools\src\linguist\lupdate\CMakeFiles\lupdate.dir/intermediate.manifest
> qttools\src\linguist\lupdate\CMakeFiles\lupdate.dir/manifest.res" failed
> (exit code 1319) with the following output:
> clangTooling.lib(Tooling.cpp.obj) : error LNK2038: mismatch detected for
> '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in
> numerus.cpp.obj
> clangTooling.lib(Tooling.cpp.obj) : error LNK2038: mismatch detected for
> 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value
> 'MDd_DynamicDebug' in numerus.cpp.obj
> clangTooling.lib(CommonOptionsParser.cpp.obj) : error LNK2038: mismatch
> detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2'
> in numerus.cpp.obj
> clangTooling.lib(CommonOptionsParser.cpp.obj) : error LNK2038: mismatch
> detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match
> value 'MDd_DynamicDebug' in numerus.cpp.obj
> clangTooling.lib(ArgumentsAdjusters.cpp.obj) : error LNK2038: mismatch
> detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2'
> in numerus.cpp.obj
> clangTooling.lib(ArgumentsAdjusters.cpp.obj) : error LNK2038: mismatch
> detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match
> value 'MDd_DynamicDebug' in numerus.cpp.obj
> [etc. etc. etc.]"
>
> Yes, I have tested removing the additional Compiler Flags like /Qspectre
> etc. - those are not the Problem. And please ignore the Numbers which
> counting the build order: I had to restart Ninja to get the Error
> Messages - Windows CMD Shell Output is very limited. No matter how high
> you set the Buffer Number.
>
> I am fully aware that the CMake Port is not finished and has a lot of
> Issues (having the Qt6 Bugreports Site pinned in the Browser). Still:
> Should I create a BR or wait for some Changes to Merge?
>
> Thanks!
> Olli
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> https://lists.qt-project.org/listinfo/interest
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200630/b96b6c34/attachment.sig>
More information about the Interest
mailing list