5nefarious
5nefarious

Reputation: 345

Why can't Qt Creator find the Windows 10 SDK headers?

I've installed Qt 5.14.2 with 64-bit MSVC libraries and Qt Creator 4.12.1. When I attempt to build any of the example projects, I get the following error:

C1083: Cannot open include file: 'stddef.h': No such file or directory.

I've already installed Visual Studio, along with UCRT and the Windows 10 SDK. I've verified that stddef.h does in fact exist inside the SDK. The problem appears to be that vcvarsall.bat (or vcvars64.bat) does not add the include directories for the SDK.

Here are the environment variables that are assigned by vcvars64.bat:

CommandPromptType=Native                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\
ExtensionSdkDir=C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs
Framework40Version=v4.0
FrameworkDir=C:\Windows\Microsoft.NET\Framework64\
FrameworkDir64=C:\Windows\Microsoft.NET\Framework64\
FrameworkVersion=v4.0.30319
FrameworkVersion64=v4.0.30319
INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\ATLMFC\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include;
LIB=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\ATLMFC\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\lib\x64;
LIBPATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\ATLMFC\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\lib\x86\store\references;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;
Path=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\\Extensions\Microsoft\IntelliCode\CLI;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft Visual…
Platform=x64
VCIDEInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\
VCToolsInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\
VCToolsRedistDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.26.28720\
VCToolsVersion=14.26.28801
VisualStudioVersion=16.0
VS160COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\
VSCMD_ARG_app_plat=Desktop
VSCMD_ARG_HOST_ARCH=x64
VSCMD_ARG_TGT_ARCH=x64
VSCMD_VER=16.6.0
VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\
WindowsLibPath=References\CommonConfiguration\Neutral
WindowsSDKLibVersion=winv6.3\
WindowsSDKVersion=\
__DOTNET_ADD_64BIT=1
__DOTNET_PREFERRED_BITNESS=64
__VSCMD_PREINIT_PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\Perforce;C:\Program Files\ServiceNow;C:\Program Files\PuTTY\;C:\Program Files\PowerShell\7\;C:\Program Files\Git\cmd;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\dotnet\;C:\Program Files\nodejs\;C:\Users\[REDACTED]\AppData\Local\Microsoft\WindowsApps;;C:\Users\[REDACTED]\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\[REDACTED]\AppData\Roaming\npm
__VSCMD_script_err_count=0

stddef.h is in C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt, but that path is not added to INCLUDE.

How is Qt Creator supposed to find the Windows SDK?

Upvotes: 2

Views: 1328

Answers (2)

bummpymask
bummpymask

Reputation: 1

I had similar issue, I don't know the exact cause but the workaround I followed is (I am building using QtCreator) adding following to .pro file.

INCLUDEPATH += "C:/Program Files (x86)/Windows Kits/10/Include/10/shared"
INCLUDEPATH += "C:/Program Files (x86)/Windows Kits/10/Include/10/um"
INCLUDEPATH += "C:/Program Files (x86)/Windows Kits/10/Include/10/ucrt"
LIBS += -L"C:/Program Files (x86)/Windows Kits/10/Lib/10/ucrt/x64"
LIBS += -L"C:/Program Files (x86)/Windows Kits/10/Lib/10/um/x64"

Upvotes: 0

chrizbee
chrizbee

Reputation: 115

I recently had the exact same problem. It's working in Visual Studio 2019 but not in Qt Creator and neither on the commandline.

The reason for my problem was missing rights to access the registry. To get some hints on your side just run the following:

set VSCMD_DEBUG=3
vcvars64.bat > log.txt

My output were multiple of these errors:

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

Checking log.txt one could see that it was indeed not setting WindowsSdkDir properly.

Upvotes: 1

Related Questions