C++ 从CreateProcess运行CMake返回FileTracker FTK0001错误

C++ 从CreateProcess运行CMake返回FileTracker FTK0001错误,c++,visual-studio,winapi,cmake,C++,Visual Studio,Winapi,Cmake,将windows 10更新为1903后,使用CreateProcess执行以下cmake命令: 命令:cmd/C“cmake-G”Visual Studio 15 2017 Win64“-DCMAKE_TOOLCHAIN_FILE=“D:/vcpkg/scripts/buildsystems/vcpkg.cmake”“.. 代码:CreateProcess(“C:\\Windows\\System32\\cmd.exe”,命令,NULL,NULL,FALSE,NULL,0,workingDir,

将windows 10更新为1903后,使用CreateProcess执行以下cmake命令:

命令:
cmd/C“cmake-G”Visual Studio 15 2017 Win64“-DCMAKE_TOOLCHAIN_FILE=“D:/vcpkg/scripts/buildsystems/vcpkg.cmake”“..

代码:
CreateProcess(“C:\\Windows\\System32\\cmd.exe”,命令,NULL,NULL,FALSE,NULL,0,workingDir,&si,&pi))

找不到编译器:

-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18362.
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Configuring incomplete, errors occurred!
但是,如果直接从命令提示符执行完全相同的命令,则会成功(找到正确的MSVC编译器)

在深入研究跟踪之后,我发现编译
CompilerIdC.vcxproj
CMakeDetermineCompilerId.cmake
失败,原因如下:

  ClCompile:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\CL.exe /c /I"D:\vcpkg\installed\x64-windows\include" /nologo /W0 /WX- /diagnostics:classic /Od /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\" /Fd"Debug\vc141.pdb" /Gd /TC /FC /errorReport:queue CMakeCCompilerId.c

  FileTracker : error FTK0001: could not attach tracking.  The storage
  control block address is invalid.
  [D:\[path redacted]\CMakeFiles\3.12.2\CompilerIdC\CompilerIdC.vcxproj]
这是唯一的错误,在此之前的所有跟踪输出,包括版本和路径,与从命令行成功编译时完全相同

如何修复此错误,或者这是CreateProcess的问题?
(这段代码在使用完全相同的编译器的Windows 10 1803上运行时没有问题)

我找到了答案:扩展在更新后产生了这个问题。禁用此扩展可以解决问题。

您是否可以在不运行CMake的情况下创建一个简单的win32应用程序,看看是否可以成功地将SDK版本18362作为目标?我找到了答案。谢谢你的评论。