On 2021-06-11 09:45, Christian Bauer wrote:

I might've found the problem. The following is copied from "dd_vsdevcmd16_env.log".

Laptop

========================

WindowsLibPath=References\CommonConfiguration\Neutral

WindowsSDKLibVersion=winv6.3\

WindowsSDKVersion=\

PC

========================

WindowsLibPath=C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.19041.0;C:\Program Files (x86)\Windows Kits\10\References\10.0.19041.0

WindowsSdkBinPath=C:\Program Files (x86)\Windows Kits\10\bin\

WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10\

WindowsSDKLibVersion=10.0.19041.0\

WindowsSdkVerBinPath=C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\

WindowsSDKVersion=10.0.19041.0\

Next I ran:

set VSCMD_DEBUG=3

vcvars64.bat > out.txt

Which results in this error:

"ERROR: Registry editing has been disabled by your administrator."

So if vcvarsall can't set Windows 10 SDK paths properly because of missing rights to access the registry then why is it working in Visual Studio 2019 directly?

And can there be a workaround that does not involve putting paths somewhere manually?


Hi, Visual Studio gets a lucky escape since it's not using vcvarsall.bat, that .bat file is meant to be run by parties outside of Visual Studio, like a CMD prompt, Qt Creator etc.

One workaround is to shortcut the broken mechanism, by editing vcvarsall.bat (it's in C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build) and adding a hardcoded set statement, like this: "set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\ATLMFC\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt"

Normally the INCLUDE variable is built by calling vsdecvmd.bat in a goto loop, but if you add that hardcoded "set INCLUDE..." after the loop it should yield the same result for Qt Creator. The drawback is that you have to edit that set statement every time you upgrade your Visual Studio :-(

_______________________________________________
Qt-creator mailing list
Qt-creator@qt-project.org
https://lists.qt-project.org/listinfo/qt-creator

Reply via email to