Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

src/windows_sdk.cpp: port to Zig #15657

Merged
merged 3 commits into from
Jul 24, 2023
Merged

src/windows_sdk.cpp: port to Zig #15657

merged 3 commits into from
Jul 24, 2023

Conversation

BratishkaErik
Copy link
Contributor

@BratishkaErik BratishkaErik commented May 11, 2023

Supercedes #15560.
Resolves #6363.

I tried to touch other files as little as possible (since idk what core team wants to do with new zig code), so most of the errors are shrinked in the end. Works fine on my Windows 11 machine, needs more testing on other machines and Windows 8.1. Here's output of zig.exe libc (updated with each rebase):

it's
```ini
smth
```
if you want to send similar report from your machine here.

warning(RegistryUtf8.getString): subkey =
warning(RegistryUtf8.getString): value_name = InstallationFolder
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 82
warning: alloc - success - len: 82, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 80
warning(RegistryUtf16Le.getString): value_utf16le.len = 39 (without terminating character), so value_utf16le_buf actual size = 78 (without terminating character)
warning: shrink - success - 82 to 78, buf_align: 1
warning: alloc - success - len: 39, ptr_align: 0
warning: shrink - success - 39 to 39, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\10\
warning: free - len: 78
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning: shrink - success - 39 to 38, buf_align: 0
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(RegistryUtf8.getString): subkey =
warning(RegistryUtf8.getString): value_name = ProductVersion
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 24
warning: alloc - success - len: 24, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 22
warning(RegistryUtf16Le.getString): value_utf16le.len = 10 (without terminating character), so value_utf16le_buf actual size = 20 (without terminating character)
warning: shrink - success - 24 to 20, buf_align: 1
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = 10.0.20348
warning: free - len: 20
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.20348
warning: expand - failure - 10 to 23, buf_align: 0
warning: alloc - success - len: 23, ptr_align: 0
warning: free - len: 10
warning: shrink - success - 23 to 12, buf_align: 0
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.20348.0
warning(Windows10Sdk.find): version = 10.0.20348.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.20348.0
warning(RegistryUtf8.getString): subkey =
warning(RegistryUtf8.getString): value_name = KitsRoot81
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning: alloc - success - len: 27, ptr_align: 0
warning: expand - failure - 27 to 48, buf_align: 0
warning: alloc - success - len: 48, ptr_align: 0
warning: free - len: 27
warning: shrink - success - 48 to 31, buf_align: 0
warning: alloc - success - len: 55, ptr_align: 0
warning: free - len: 31
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 17.0_9e9cbb98
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (before replacing _ with .) = 17.0_9e9cbb98
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (after  replacing _ with .) = 17.0.9e9cbb98
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 17.0.0+build.9e9cbb98
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 17.0.0+build.9e9cbb98
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = Packages
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = Packages.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = SettingsLogs
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = SettingsLogs.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version): version = 17.0_9e9cbb98
warning(MsvcLibDir.findViaRegistry): vs_version = 17.0_9e9cbb98
warning: alloc - success - len: 88, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\17.0_9e9cbb98\privateregistry.bin
warning(RegistryUtf16Le.loadFromPath): return_code = SUCCESS
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning: alloc - success - len: 52, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\17.0_9e9cbb98_Config
warning(RegistryUtf8.getString): subkey = Software\Microsoft\VisualStudio\17.0_9e9cbb98_Config
warning(RegistryUtf8.getString): value_name = Source Directories
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 3088
warning: alloc - success - len: 3088, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 3086
warning(RegistryUtf16Le.getString): value_utf16le.len = 1542 (without terminating character), so value_utf16le_buf actual size = 3084 (without terminating character)
warning: shrink - success - 3088 to 3084, buf_align: 1
warning: alloc - success - len: 1542, ptr_align: 0
warning: shrink - success - 1542 to 1542, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\include\
warning: free - len: 3084
warning(MsvcLibDir.findViaRegistry.path_msvc_lib_dir_registry): source_directories_value.len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated:
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\include\
warning: alloc - success - len: 90, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\
warning: shrink - success - 90 to 89, buf_align: 0
warning(MsvcLibDir.findViaRegistry): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
warning: free - len: 1542
warning: free - len: 52
warning: free - len: 88
warning: free - len: 55
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
warning: free - len: 38
warning: free - len: 12
warning: free - len: 89
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

@squeek502
Copy link
Collaborator

squeek502 commented May 11, 2023

I'm not sure this privateregistry.bin approach will work for everyone, unfortunately. I don't appear to have a privateregistry.bin file in my %APPDATA%\Microsoft\VisualStudio\17.0_80a758ca folder (Windows 10, Visual Studio 2022 Community).

Might have to get the COM IEnumSetupInstances way working again from Zig.

@BratishkaErik
Copy link
Contributor Author

BratishkaErik commented May 12, 2023

%APPDATA%\Microsoft\VisualStudio\17.0_80a758ca folder (Windows 10, Visual Studio 2022 Community).

could you try:

%APPDATA%\Local\Microsoft\VisualStudio\17.0_80a758ca

?

@BratishkaErik
Copy link
Contributor Author

anyway, according to documentation privateregistry.bin should be there https://www.visualstudioextensibility.com/2017/07/15/about-the-new-privateregistry-bin-file-of-visual-studio-2017/

@squeek502
Copy link
Collaborator

Ah, you're right, %LOCALAPPDATA%\Microsoft\VisualStudio\17.0_80a758ca\privateregistry.bin exists for me.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this file?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I asked in discord if anyone'd like to test this PR on some machine with (preferably) different configuration (such as window s8.1 and/or VS 2017/2019) and then, to whom will agree, I would've ask ask to build this branch from source (or, if they can't or don'rt want to, download this file, although I would've still highly recommend former). But it looks like no one answered yet :) maybe it is a cursed platform lol

Copy link
Collaborator

@squeek502 squeek502 May 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a Windows 7 install with VS 2019 2017. Probably can't get this branch/build to run on it, but I can try manually checking if the stuff it's looking for would be found or not.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I guess it'll be nice to have. Many thanks in advance!

@squeek502
Copy link
Collaborator

squeek502 commented May 22, 2023

Looks good on Windows 7 with Visual Studio 2017 installed. Couldn't get Zig proper to run (RtlWaitOnAddress not found) so I extracted just the zig libc command code and built that instead with:

zig\src> zig build-exe libc_only.zig -target x86_64-windows-msvc -fsingle-threaded
// src/libc_only.zig
const std = @import("std");
const LibCInstallation = @import("libc_installation.zig").LibCInstallation;

pub fn main() !void {
    var gpa = std.heap.GeneralPurposeAllocator(.{}){};
    const allocator = gpa.allocator();
    defer std.debug.assert(gpa.deinit() == .ok);

    var libc = LibCInstallation.findNative(.{
        .allocator = allocator,
        .verbose = true,
    }) catch |err| {
        std.log.err("unable to detect native libc: {s}", .{@errorName(err)});
        std.process.exit(1);
    };
    defer libc.deinit(allocator);

    var bw = std.io.bufferedWriter(std.io.getStdOut().writer());
    try libc.render(bw.writer());
    try bw.flush();
}

(also had to patch libc_installation.zig to remove build_options usage)

and was able to run it on Windows 7. Here was the result:

# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=
The full temp_log output
warning(RegistryUtf8.getString): subkey =
warning(RegistryUtf8.getString): value_name = InstallationFolder
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 82
warning: alloc - success - len: 82, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 80
warning(RegistryUtf16Le.getString): value_utf16le.len = 39 (without terminating character), so value_utf16le_buf actual size = 78 (without terminating character
)
warning: shrink - success - 82 to 78, buf_align: 1
warning: alloc - success - len: 39, ptr_align: 0
warning: shrink - success - 39 to 39, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\10\
warning: free - len: 78
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning: shrink - success - 39 to 38, buf_align: 0
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(RegistryUtf8.getString): subkey =
warning(RegistryUtf8.getString): value_name = ProductVersion
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 24
warning: alloc - success - len: 24, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 22
warning(RegistryUtf16Le.getString): value_utf16le.len = 10 (without terminating character), so value_utf16le_buf actual size = 20 (without terminating character
)
warning: shrink - success - 24 to 20, buf_align: 1
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = 10.0.17134
warning: free - len: 20
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.17134
warning: expand - failure - 10 to 23, buf_align: 0
warning: alloc - success - len: 23, ptr_align: 0
warning: free - len: 10
warning: shrink - success - 23 to 12, buf_align: 0
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.17134.0
warning(Windows10Sdk.find): version = 10.0.17134.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.17134.0
warning(RegistryUtf8.getString): subkey =
warning(RegistryUtf8.getString): value_name = KitsRoot81
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 84
warning: alloc - success - len: 84, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 82
warning(RegistryUtf16Le.getString): value_utf16le.len = 40 (without terminating character), so value_utf16le_buf actual size = 80 (without terminating character
)
warning: shrink - success - 84 to 80, buf_align: 1
warning: alloc - success - len: 40, ptr_align: 0
warning: shrink - success - 40 to 40, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\8.1\
warning: free - len: 80
warning(Windows81Sdk.find.path81): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1\
warning: shrink - success - 40 to 39, buf_align: 0
warning(Windows81Sdk.find.path81): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find): path = C:\Program Files (x86)\Windows Kits\8.1
warning: alloc - success - len: 3, ptr_align: 0
warning(Windows81Sdk.find): version = 0.0
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 51, ptr_align: 0
warning: free - len: 27
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name = 14.0
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (before replacing _ with .) = 14.0
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (after  replacing _ with .) = 14.0
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name = 15.0
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (before replacing _ with .) = 15.0
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (after  replacing _ with .) = 15.0
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (before replacing _ with .) = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (after  replacing _ with .) = 15.0.6b9e52af
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_normalized = 15.0.0+build.6b9e52af
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_normalized as SemVer = 15.0.0+build.6b9e52af
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name = Packages
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (before replacing _ with .) = Packages
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (after  replacing _ with .) = Packages
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name = SettingsLogs
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (before replacing _ with .) = SettingsLogs
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (after  replacing _ with .) = SettingsLogs
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name = vshub
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (before replacing _ with .) = vshub
warning(MsvcLibDir.findViaRegistry.iterate_folder): subfolder_name_checking (after  replacing _ with .) = vshub
warning(MsvcLibDir.findViaRegistry.vs_version): vs_version = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry): vs_version = 15.0_6b9e52af
warning: alloc - success - len: 84, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\15.0_6b9e52af\privateregistry.bin
warning(RegistryUtf16Le.loadFromPath): return_code = SUCCESS
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning: alloc - success - len: 52, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\15.0_6b9e52af_Config
warning(RegistryUtf8.getString): subkey = Software\Microsoft\VisualStudio\15.0_6b9e52af_Config
warning(RegistryUtf8.getString): value_name = Source Directories
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 3482
warning: alloc - success - len: 3482, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 3480
warning(RegistryUtf16Le.getString): value_utf16le.len = 1739 (without terminating character), so value_utf16le_buf actual size = 3478 (without terminating chara
cter)
warning: shrink - success - 3482 to 3478, buf_align: 1
warning: alloc - success - len: 1739, ptr_align: 0
warning: shrink - success - 1739 to 1739, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\;C:\Program Files
(x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cvt\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\
14.15.26726\include\msclr\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\sys\;C:\Program Files (x86)\Microsoft
 Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\thr\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt
\src\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\x64\;C:\Program Files (x86)\Microsoft Visual Studio\2017\C
ommunity\VC\Tools\MSVC\14.15.26726\crt\src\arm\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\concrt\;C:\Progr
am Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\i386\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\T
ools\MSVC\14.15.26726\crt\src\linkopts\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\stl\;C:\Program Files (x
86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vccorlib\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MS
VC\14.15.26726\crt\src\vcruntime\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc\;C:\Program Files (x86)
\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14
.15.26726\atlmfc\include\
warning: free - len: 3478
warning(MsvcLibDir.findViaRegistry.path_msvc_lib_dir_registry): source_directories_value.len = 1739
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\;C:\Pr
ogram Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cvt\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC
\Tools\MSVC\14.15.26726\include\msclr\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\sys\;C:\Program Files (x8
6)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\thr\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.
15.26726\crt\src\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\x64\;C:\Program Files (x86)\Microsoft Visual S
tudio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\arm\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\conc
rt\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\i386\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Co
mmunity\VC\Tools\MSVC\14.15.26726\crt\src\linkopts\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\stl\;C:\Prog
ram Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vccorlib\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
\VC\Tools\MSVC\14.15.26726\crt\src\vcruntime\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc\;C:\Program
 Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\T
ools\MSVC\14.15.26726\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated:
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\thr\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 16: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\include\
warning: alloc - success - len: 96, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14
.15.26726\include\
warning: shrink - success - 96 to 95, buf_align: 0
warning(MsvcLibDir.findViaRegistry): msvc_dir_with_arch = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64
warning: free - len: 1739
warning: free - len: 52
warning: free - len: 84
warning: free - len: 51
warning(MsvcLibDir.find): full_path = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64
warning: free - len: 38
warning: free - len: 12
warning: free - len: 39
warning: free - len: 3
warning: free - len: 95

I also had an old Zig build (0.9.0-dev.1146+4afe4bdfe to be exact) that I could run zig libc with to compare. The only difference was that it had a trailing slash on the msvc_lib_dir.

Here's the libc_only.exe I used if anyone else wants to test it with their setup:

zig-windows-sdk-libc_only.zip

@BratishkaErik
Copy link
Contributor Author

Could you please share the listing of directories under C:\Program Files (x86)\Windows Kits\8.1? Looks like version detection is broken here

@squeek502
Copy link
Collaborator

squeek502 commented May 22, 2023

If I understand correctly, here's the relevant portion:

C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1
├───Lib
│   └───winv6.3
│       └───um
│           ├───arm
│           ├───x64
│           └───x86

Let me know if you need the full tree dump.

EDIT: Also, in the registry

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.1\ProductVersion

is set to 6.3..9600

EDIT#2: Looks like SemanticVersion requires patch, so 6.3 is failing to parse:

.major = try parseNum(it.first()),
.minor = try parseNum(it.next() orelse return error.InvalidVersion),
.patch = try parseNum(it.next() orelse return error.InvalidVersion),

@squeek502
Copy link
Collaborator

Latest version seems to have regressed detection on my Windows 7 install. Here are the latest results for my Windows 10 and Windows 7 installs:

Windows 10
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = InstallationFolder
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 82
warning: alloc - success - len: 82, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 80
warning(RegistryUtf16Le.getString): value_utf16le.len = 39 (without terminating character), so value_utf16le_buf actual size = 78 (without terminating character)
warning: shrink - success - 82 to 78, buf_align: 1
warning: alloc - success - len: 39, ptr_align: 0
warning: shrink - success - 39 to 39, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\10\
warning: free - len: 78
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning: shrink - success - 39 to 38, buf_align: 0
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = ProductVersion
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 24
warning: alloc - success - len: 24, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 22
warning(RegistryUtf16Le.getString): value_utf16le.len = 10 (without terminating character), so value_utf16le_buf actual size = 20 (without terminating character)
warning: shrink - success - 24 to 20, buf_align: 1
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = 10.0.22621
warning: free - len: 20
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.22621
warning: expand - failure - 10 to 23, buf_align: 0
warning: alloc - success - len: 23, ptr_align: 0
warning: free - len: 10
warning: shrink - success - 23 to 12, buf_align: 0
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.22621.0
warning(Windows10Sdk.find): version = 10.0.22621.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.22621.0
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = KitsRoot81
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 51, ptr_align: 0
warning: free - len: 27
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (before replacing _ with .) = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (after  replacing _ with .) = 17.0.80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 17.0.0+build.80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 17.0.0+build.80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = BackupFiles
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = BackupFiles.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = CacheService
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = CacheService.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = Packages
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = Packages.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = RemoteSettings
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = RemoteSettings.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = Roslyn
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = Roslyn.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = SettingsLogs
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = SettingsLogs.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = vshub
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = vshub.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = WebView2Cache
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = WebView2Cache.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version): version = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry): vs_version = 17.0_80a758ca
warning: alloc - success - len: 84, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\17.0_80a758ca\privateregistry.bin
warning(RegistryUtf16Le.loadFromPath): return_code = SUCCESS
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning: alloc - success - len: 52, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\17.0_80a758ca_Config
warning(RegistryUtf8.getString): subkey = Software\Microsoft\VisualStudio\17.0_80a758ca_Config
warning(RegistryUtf8.getString): value_name = Source Directories
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 3088
warning: alloc - success - len: 3088, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 3086
warning(RegistryUtf16Le.getString): value_utf16le.len = 1542 (without terminating character), so value_utf16le_buf actual size = 3084 (without terminating character)
warning: shrink - success - 3088 to 3084, buf_align: 1
warning: alloc - success - len: 1542, ptr_align: 0
warning: shrink - success - 1542 to 1542, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning: free - len: 3084
warning(MsvcLibDir.findViaRegistry.path_msvc_lib_dir_registry): source_directories_value.len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated: 
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning: alloc - success - len: 90, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\
warning: shrink - success - 90 to 89, buf_align: 0
warning(MsvcLibDir.findViaRegistry): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning: free - len: 1542
warning: free - len: 52
warning: free - len: 84
warning: free - len: 51
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning: free - len: 38
warning: free - len: 12
warning: free - len: 89
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=
Windows 7
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = InstallationFolder
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 82
warning: alloc - success - len: 82, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 80
warning(RegistryUtf16Le.getString): value_utf16le.len = 39 (without terminating character), so value_utf16le_buf actual size = 78 (without terminating character)
warning: shrink - success - 82 to 78, buf_align: 1
warning: alloc - success - len: 39, ptr_align: 0
warning: shrink - success - 39 to 39, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\10\
warning: free - len: 78
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning: shrink - success - 39 to 38, buf_align: 0
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = ProductVersion
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 24
warning: alloc - success - len: 24, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 22
warning(RegistryUtf16Le.getString): value_utf16le.len = 10 (without terminating character), so value_utf16le_buf actual size = 20 (without terminating character)
warning: shrink - success - 24 to 20, buf_align: 1
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = 10.0.17134
warning: free - len: 20
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.17134
warning: expand - failure - 10 to 23, buf_align: 0
warning: alloc - success - len: 23, ptr_align: 0
warning: free - len: 10
warning: shrink - success - 23 to 12, buf_align: 0
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.17134.0
warning(Windows10Sdk.find): version = 10.0.17134.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.17134.0
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = KitsRoot81
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 84
warning: alloc - success - len: 84, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 82
warning(RegistryUtf16Le.getString): value_utf16le.len = 40 (without terminating character), so value_utf16le_buf actual size = 80 (without terminating character)
warning: shrink - success - 84 to 80, buf_align: 1
warning: alloc - success - len: 40, ptr_align: 0
warning: shrink - success - 40 to 40, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\8.1\
warning: free - len: 80
warning(Windows81Sdk.find.path81): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1\
warning: shrink - success - 40 to 39, buf_align: 0
warning(Windows81Sdk.find.path81): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find): path = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find.version81): sdk_lib_dir_path = C:\Program Files (x86)\Windows Kits\8.1\Lib\
warning(Windows81Sdk.find.version81.iterate_folder): subfolder_name (possibly with "winv" prefix) = winv6.3
warning(Windows81Sdk.find.version81.iterate_folder): subfolder_name = 6.3
warning(Windows81Sdk.find.version81.iterate_folder): subfolder_name_normalized = 6.3.0
warning(Windows81Sdk.find.version81.iterate_folder): subfolder_name_normalized as SemVer = 6.3.0
warning(Windows81Sdk.find.version81.iterate_folder): previous_subfolder_name_normalized = 0.0.0+build.0
warning(Windows81Sdk.find.version81.iterate_folder): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(Windows81Sdk.find.version81): version = 6.3
warning: alloc - success - len: 3, ptr_align: 0
warning(Windows81Sdk.find): version = 6.3
warning(ZigWindowsSDK.find): windows81sdk is null = false
warning(ZigWindowsSDK.find): windows81sdk.path = C:\Program Files (x86)\Windows Kits\8.1, windows81sdk.version = 6.3
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 51, ptr_align: 0
warning: free - len: 27
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 14.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 14.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 14.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 15.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 15.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 15.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 14.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 14.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (before replacing _ with .) = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (after  replacing _ with .) = 15.0.6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 15.0.0+build.6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 15.0.0+build.6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 15.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 15.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = Packages
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = Packages.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = SettingsLogs
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = SettingsLogs.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = vshub
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = vshub.0.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version): version = 15.0
warning(MsvcLibDir.findViaRegistry): vs_version = 15.0
warning: alloc - success - len: 75, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\15.0\privateregistry.bin
warning(RegistryUtf16Le.loadFromPath): return_code = SUCCESS
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning: alloc - success - len: 43, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\15.0_Config
warning(RegistryUtf8.getString): subkey = Software\Microsoft\VisualStudio\15.0_Config
warning(RegistryUtf8.getString): value_name = Source Directories
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 0
warning: free - len: 43
warning: free - len: 75
warning: free - len: 51
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 288, ptr_align: 3
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 19, ptr_align: 0
warning: shrink - success - 19 to 19, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 15, ptr_align: 0
warning: shrink - success - 15 to 15, buf_align: 0
warning: alloc - success - len: 14, ptr_align: 0
warning: shrink - success - 14 to 14, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 29, ptr_align: 0
warning: shrink - success - 29 to 29, buf_align: 0
warning: alloc - success - len: 18, ptr_align: 0
warning: shrink - success - 18 to 18, buf_align: 0
warning: alloc - success - len: 29, ptr_align: 0
warning: shrink - success - 29 to 29, buf_align: 0
warning: alloc - success - len: 552, ptr_align: 3
warning: free - len: 288
warning: alloc - success - len: 23, ptr_align: 0
warning: shrink - success - 23 to 23, buf_align: 0
warning: alloc - success - len: 35, ptr_align: 0
warning: shrink - success - 35 to 35, buf_align: 0
warning: alloc - success - len: 18, ptr_align: 0
warning: shrink - success - 18 to 18, buf_align: 0
warning: alloc - success - len: 29, ptr_align: 0
warning: shrink - success - 29 to 29, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 16, ptr_align: 0
warning: shrink - success - 16 to 16, buf_align: 0
warning: alloc - success - len: 2, ptr_align: 0
warning: shrink - success - 2 to 2, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 53, ptr_align: 0
warning: shrink - success - 53 to 53, buf_align: 0
warning: alloc - success - len: 1080, ptr_align: 3
warning: free - len: 552
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 16, ptr_align: 0
warning: shrink - success - 16 to 16, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 20, ptr_align: 0
warning: shrink - success - 20 to 20, buf_align: 0
warning: alloc - success - len: 19, ptr_align: 0
warning: shrink - success - 19 to 19, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 37, ptr_align: 0
warning: shrink - success - 37 to 37, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 20, ptr_align: 0
warning: shrink - success - 20 to 20, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 2, ptr_align: 0
warning: shrink - success - 2 to 2, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 34, ptr_align: 0
warning: shrink - success - 34 to 34, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 43, ptr_align: 0
warning: shrink - success - 43 to 43, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 13, ptr_align: 0
warning: shrink - success - 13 to 13, buf_align: 0
warning: alloc - success - len: 19, ptr_align: 0
warning: shrink - success - 19 to 19, buf_align: 0
warning: alloc - success - len: 20, ptr_align: 0
warning: shrink - success - 20 to 20, buf_align: 0
warning: alloc - success - len: 1, ptr_align: 0
warning: shrink - success - 1 to 1, buf_align: 0
warning: alloc - success - len: 2136, ptr_align: 3
warning: free - len: 1080
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 32, ptr_align: 0
warning: shrink - success - 32 to 32, buf_align: 0
warning: alloc - success - len: 2, ptr_align: 0
warning: shrink - success - 2 to 2, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 1545, ptr_align: 0
warning: shrink - success - 1545 to 1545, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 62, ptr_align: 0
warning: shrink - success - 62 to 62, buf_align: 0
warning: alloc - success - len: 25, ptr_align: 0
warning: shrink - success - 25 to 25, buf_align: 0
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 22, ptr_align: 0
warning: shrink - success - 22 to 22, buf_align: 0
warning: alloc - success - len: 5, ptr_align: 0
warning: shrink - success - 5 to 5, buf_align: 0
warning: alloc - success - len: 20, ptr_align: 0
warning: shrink - success - 20 to 20, buf_align: 0
warning: alloc - success - len: 50, ptr_align: 0
warning: shrink - success - 50 to 50, buf_align: 0
warning: alloc - success - len: 15, ptr_align: 0
warning: shrink - success - 15 to 15, buf_align: 0
warning: alloc - success - len: 1, ptr_align: 0
warning: shrink - success - 1 to 1, buf_align: 0
warning: alloc - success - len: 18, ptr_align: 0
warning: shrink - success - 18 to 18, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 14, ptr_align: 0
warning: shrink - success - 14 to 14, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 16, ptr_align: 0
warning: shrink - success - 16 to 16, buf_align: 0
warning: alloc - success - len: 17, ptr_align: 0
warning: shrink - success - 17 to 17, buf_align: 0
warning: alloc - success - len: 22, ptr_align: 0
warning: shrink - success - 22 to 22, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 16, ptr_align: 0
warning: shrink - success - 16 to 16, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 51, ptr_align: 0
warning: shrink - success - 51 to 51, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 15, ptr_align: 0
warning: shrink - success - 15 to 15, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 55, ptr_align: 0
warning: shrink - success - 55 to 55, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 53, ptr_align: 0
warning: shrink - success - 53 to 53, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 2, ptr_align: 0
warning: shrink - success - 2 to 2, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 32, ptr_align: 0
warning: shrink - success - 32 to 32, buf_align: 0
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 32, ptr_align: 0
warning: shrink - success - 32 to 32, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 4248, ptr_align: 3
warning: free - len: 2136
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 13, ptr_align: 0
warning: shrink - success - 13 to 13, buf_align: 0
warning: alloc - success - len: 21, ptr_align: 0
warning: shrink - success - 21 to 21, buf_align: 0
warning: alloc - success - len: 35, ptr_align: 0
warning: shrink - success - 35 to 35, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 66, ptr_align: 0
warning: shrink - success - 66 to 66, buf_align: 0
warning: alloc - success - len: 14, ptr_align: 0
warning: shrink - success - 14 to 14, buf_align: 0
warning: alloc - success - len: 66, ptr_align: 0
warning: shrink - success - 66 to 66, buf_align: 0
warning: alloc - success - len: 13, ptr_align: 0
warning: shrink - success - 13 to 13, buf_align: 0
warning: alloc - success - len: 63, ptr_align: 0
warning: shrink - success - 63 to 63, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 66, ptr_align: 0
warning: free - len: 8
warning: free - len: 20
warning: free - len: 15
warning: free - len: 1
warning: free - len: 9
warning: free - len: 55
warning: free - len: 14
warning: free - len: 66
warning: free - len: 15
warning: free - len: 14
warning: free - len: 18
warning: free - len: 29
warning: free - len: 6
warning: free - len: 6
warning: free - len: 11
warning: free - len: 9
warning: free - len: 12
warning: free - len: 32
warning: free - len: 18
warning: free - len: 4
warning: free - len: 11
warning: free - len: 13
warning: free - len: 8
warning: free - len: 66
warning: free - len: 13
warning: free - len: 63
warning: free - len: 16
warning: free - len: 2
warning: free - len: 10
warning: free - len: 10
warning: free - len: 23
warning: free - len: 35
warning: free - len: 8
warning: free - len: 4
warning: free - len: 4
warning: free - len: 1545
warning: free - len: 20
warning: free - len: 19
warning: free - len: 6
warning: free - len: 16
warning: free - len: 7
warning: free - len: 29
warning: free - len: 12
warning: free - len: 7
warning: free - len: 12
warning: free - len: 37
warning: free - len: 9
warning: free - len: 8
warning: free - len: 4
warning: free - len: 32
warning: free - len: 11
warning: free - len: 14
warning: free - len: 12
warning: free - len: 16
warning: free - len: 21
warning: free - len: 35
warning: free - len: 17
warning: free - len: 22
warning: free - len: 8
warning: free - len: 43
warning: free - len: 20
warning: free - len: 1
warning: free - len: 18
warning: free - len: 29
warning: free - len: 11
warning: free - len: 7
warning: free - len: 12
warning: free - len: 16
warning: free - len: 2
warning: free - len: 10
warning: free - len: 7
warning: free - len: 53
warning: free - len: 3
warning: free - len: 7
warning: free - len: 9
warning: free - len: 2
warning: free - len: 12
warning: free - len: 27
warning: free - len: 7
warning: free - len: 62
warning: free - len: 6
warning: free - len: 15
warning: free - len: 10
warning: free - len: 7
warning: free - len: 9
warning: free - len: 34
warning: free - len: 3
warning: free - len: 32
warning: free - len: 3
warning: free - len: 3
warning: free - len: 6
warning: free - len: 4
warning: free - len: 11
warning: free - len: 2
warning: free - len: 20
warning: free - len: 50
warning: free - len: 7
warning: free - len: 7
warning: free - len: 25
warning: free - len: 3
warning: free - len: 8
warning: free - len: 11
warning: free - len: 7
warning: free - len: 27
warning: free - len: 13
warning: free - len: 19
warning: free - len: 6
warning: free - len: 10
warning: free - len: 7
warning: free - len: 53
warning: free - len: 22
warning: free - len: 5
warning: free - len: 12
warning: free - len: 51
warning: free - len: 3
warning: free - len: 19
warning: free - len: 4248
warning(MsvcLibDir.find): full_path = C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
warning: free - len: 66
warning(ZigWindowsSDK.find): msvc_lib_dir = null
warning: free - len: 38
warning: free - len: 12
warning: free - len: 39
warning: free - len: 3
error: unable to detect native libc: LibCStdLibHeaderNotFound

@BratishkaErik
Copy link
Contributor Author

Latest version seems to have regressed detection on my Windows 7 install. Here are the latest results for my Windows 10 and Windows 7 installs:

Should work now.

@squeek502
Copy link
Collaborator

squeek502 commented Jun 5, 2023

Latest results:

Windows 10
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = InstallationFolder
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 82
warning: alloc - success - len: 82, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 80
warning(RegistryUtf16Le.getString): value_utf16le.len = 39 (without terminating character), so value_utf16le_buf actual size = 78 (without terminating character)
warning: shrink - success - 82 to 78, buf_align: 1
warning: alloc - success - len: 39, ptr_align: 0
warning: shrink - success - 39 to 39, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\10\
warning: free - len: 78
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning: shrink - success - 39 to 38, buf_align: 0
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = ProductVersion
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 24
warning: alloc - success - len: 24, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 22
warning(RegistryUtf16Le.getString): value_utf16le.len = 10 (without terminating character), so value_utf16le_buf actual size = 20 (without terminating character)
warning: shrink - success - 24 to 20, buf_align: 1
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = 10.0.22621
warning: free - len: 20
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.22621
warning: expand - failure - 10 to 23, buf_align: 0
warning: alloc - success - len: 23, ptr_align: 0
warning: free - len: 10
warning: shrink - success - 23 to 12, buf_align: 0
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.22621.0
warning(Windows10Sdk.find): version = 10.0.22621.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.22621.0
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = KitsRoot81
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 51, ptr_align: 0
warning: free - len: 27
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (before replacing _ with .) = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (after  replacing _ with .) = 17.0.80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 17.0.0+build.80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 17.0.0+build.80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = BackupFiles
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = BackupFiles.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = CacheService
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = CacheService.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = Packages
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = Packages.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = RemoteSettings
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = RemoteSettings.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = Roslyn
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = Roslyn.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = SettingsLogs
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = vshub
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = vshub.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = WebView2Cache
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = WebView2Cache.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version): version = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry): vs_version = 17.0_80a758ca
warning: alloc - success - len: 84, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\17.0_80a758ca\privateregistry.bin
warning(RegistryUtf16Le.loadFromPath): return_code = SUCCESS
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning: alloc - success - len: 52, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\17.0_80a758ca_Config
warning(RegistryUtf8.getString): subkey = Software\Microsoft\VisualStudio\17.0_80a758ca_Config
warning(RegistryUtf8.getString): value_name = Source Directories
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 3088
warning: alloc - success - len: 3088, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 3086
warning(RegistryUtf16Le.getString): value_utf16le.len = 1542 (without terminating character), so value_utf16le_buf actual size = 3084 (without terminating character)
warning: shrink - success - 3088 to 3084, buf_align: 1
warning: alloc - success - len: 1542, ptr_align: 0
warning: shrink - success - 1542 to 1542, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning: free - len: 3084
warning(MsvcLibDir.findViaRegistry.source_directories): source_directories_value.len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated: 
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning: alloc - success - len: 90, ptr_align: 0
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\
warning: shrink - success - 90 to 89, buf_align: 0
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning: free - len: 1542
warning: free - len: 52
warning: free - len: 84
warning: free - len: 51
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning: free - len: 38
warning: free - len: 12
warning: free - len: 89
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=
Windows 7
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = InstallationFolder
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 82
warning: alloc - success - len: 82, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 80
warning(RegistryUtf16Le.getString): value_utf16le.len = 39 (without terminating character), so value_utf16le_buf actual size = 78 (without terminating character)
warning: shrink - success - 82 to 78, buf_align: 1
warning: alloc - success - len: 39, ptr_align: 0
warning: shrink - success - 39 to 39, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\10\
warning: free - len: 78
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning: shrink - success - 39 to 38, buf_align: 0
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = ProductVersion
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 24
warning: alloc - success - len: 24, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 22
warning(RegistryUtf16Le.getString): value_utf16le.len = 10 (without terminating character), so value_utf16le_buf actual size = 20 (without terminating character)
warning: shrink - success - 24 to 20, buf_align: 1
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = 10.0.17134
warning: free - len: 20
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.17134
warning: expand - failure - 10 to 23, buf_align: 0
warning: alloc - success - len: 23, ptr_align: 0
warning: free - len: 10
warning: shrink - success - 23 to 12, buf_align: 0
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.17134.0
warning(Windows10Sdk.find): version = 10.0.17134.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.17134.0
warning(RegistryUtf8.getString): subkey = 
warning(RegistryUtf8.getString): value_name = KitsRoot81
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 84
warning: alloc - success - len: 84, ptr_align: 1
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from second call = 82
warning(RegistryUtf16Le.getString): value_utf16le.len = 40 (without terminating character), so value_utf16le_buf actual size = 80 (without terminating character)
warning: shrink - success - 84 to 80, buf_align: 1
warning: alloc - success - len: 40, ptr_align: 0
warning: shrink - success - 40 to 40, buf_align: 0
warning(RegistryUtf8.getString): value_utf8 = C:\Program Files (x86)\Windows Kits\8.1\
warning: free - len: 80
warning(Windows81Sdk.find.path81): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1\
warning: shrink - success - 40 to 39, buf_align: 0
warning(Windows81Sdk.find.path81): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find): path = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find.version81): sdk_lib_dir_path = C:\Program Files (x86)\Windows Kits\8.1\Lib\
warning(Windows81Sdk.find.version81.iterate_folder): subfolder_name (possibly with "winv" prefix) = winv6.3
warning(Windows81Sdk.find.version81.iterate_folder): subfolder_name = 6.3
warning(Windows81Sdk.find.version81.iterate_folder): subfolder_name_normalized = 6.3.0+build.0
warning(Windows81Sdk.find.version81.iterate_folder): subfolder_name_normalized as SemVer = 6.3.0+build.0
warning(Windows81Sdk.find.version81.iterate_folder): previous_subfolder_name_normalized = 0.0.0+build.0
warning(Windows81Sdk.find.version81.iterate_folder): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(Windows81Sdk.find.version81): version = 6.3
warning: alloc - success - len: 3, ptr_align: 0
warning(Windows81Sdk.find): version = 6.3
warning(ZigWindowsSDK.find): windows81sdk is null = false
warning(ZigWindowsSDK.find): windows81sdk.path = C:\Program Files (x86)\Windows Kits\8.1, windows81sdk.version = 6.3
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 51, ptr_align: 0
warning: free - len: 27
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 14.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 14.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 14.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 15.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 15.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 15.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 14.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 14.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (before replacing _ with .) = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name (after  replacing _ with .) = 15.0.6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = 15.0.0+build.6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = 15.0.0+build.6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized = 15.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): previous_subfolder_name_normalized as SemVer = 15.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = Packages
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = Packages.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = SettingsLogs
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name = vshub
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized = vshub.0.0+build.0
warning(MsvcLibDir.findViaRegistry.vs_version.iterate_folder): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(MsvcLibDir.findViaRegistry.vs_version): version = 15.0
warning(MsvcLibDir.findViaRegistry): vs_version = 15.0
warning: alloc - success - len: 75, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\15.0\privateregistry.bin
warning(RegistryUtf16Le.loadFromPath): return_code = SUCCESS
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning: alloc - success - len: 43, ptr_align: 0
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\15.0_Config
warning(RegistryUtf8.getString): subkey = Software\Microsoft\VisualStudio\15.0_Config
warning(RegistryUtf8.getString): value_name = Source Directories
warning(RegistryUtf16Le.getString): value_utf16le_buf_size from first call = 0
warning: free - len: 43
warning: free - len: 75
warning: free - len: 51
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 288, ptr_align: 3
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 19, ptr_align: 0
warning: shrink - success - 19 to 19, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 15, ptr_align: 0
warning: shrink - success - 15 to 15, buf_align: 0
warning: alloc - success - len: 14, ptr_align: 0
warning: shrink - success - 14 to 14, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 29, ptr_align: 0
warning: shrink - success - 29 to 29, buf_align: 0
warning: alloc - success - len: 18, ptr_align: 0
warning: shrink - success - 18 to 18, buf_align: 0
warning: alloc - success - len: 29, ptr_align: 0
warning: shrink - success - 29 to 29, buf_align: 0
warning: alloc - success - len: 552, ptr_align: 3
warning: free - len: 288
warning: alloc - success - len: 23, ptr_align: 0
warning: shrink - success - 23 to 23, buf_align: 0
warning: alloc - success - len: 35, ptr_align: 0
warning: shrink - success - 35 to 35, buf_align: 0
warning: alloc - success - len: 18, ptr_align: 0
warning: shrink - success - 18 to 18, buf_align: 0
warning: alloc - success - len: 29, ptr_align: 0
warning: shrink - success - 29 to 29, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 16, ptr_align: 0
warning: shrink - success - 16 to 16, buf_align: 0
warning: alloc - success - len: 2, ptr_align: 0
warning: shrink - success - 2 to 2, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 53, ptr_align: 0
warning: shrink - success - 53 to 53, buf_align: 0
warning: alloc - success - len: 1080, ptr_align: 3
warning: free - len: 552
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 16, ptr_align: 0
warning: shrink - success - 16 to 16, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 20, ptr_align: 0
warning: shrink - success - 20 to 20, buf_align: 0
warning: alloc - success - len: 19, ptr_align: 0
warning: shrink - success - 19 to 19, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 37, ptr_align: 0
warning: shrink - success - 37 to 37, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 20, ptr_align: 0
warning: shrink - success - 20 to 20, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 2, ptr_align: 0
warning: shrink - success - 2 to 2, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 34, ptr_align: 0
warning: shrink - success - 34 to 34, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 43, ptr_align: 0
warning: shrink - success - 43 to 43, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 27, ptr_align: 0
warning: shrink - success - 27 to 27, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 13, ptr_align: 0
warning: shrink - success - 13 to 13, buf_align: 0
warning: alloc - success - len: 19, ptr_align: 0
warning: shrink - success - 19 to 19, buf_align: 0
warning: alloc - success - len: 20, ptr_align: 0
warning: shrink - success - 20 to 20, buf_align: 0
warning: alloc - success - len: 1, ptr_align: 0
warning: shrink - success - 1 to 1, buf_align: 0
warning: alloc - success - len: 2136, ptr_align: 3
warning: free - len: 1080
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 32, ptr_align: 0
warning: shrink - success - 32 to 32, buf_align: 0
warning: alloc - success - len: 2, ptr_align: 0
warning: shrink - success - 2 to 2, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 1545, ptr_align: 0
warning: shrink - success - 1545 to 1545, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 62, ptr_align: 0
warning: shrink - success - 62 to 62, buf_align: 0
warning: alloc - success - len: 25, ptr_align: 0
warning: shrink - success - 25 to 25, buf_align: 0
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 22, ptr_align: 0
warning: shrink - success - 22 to 22, buf_align: 0
warning: alloc - success - len: 5, ptr_align: 0
warning: shrink - success - 5 to 5, buf_align: 0
warning: alloc - success - len: 20, ptr_align: 0
warning: shrink - success - 20 to 20, buf_align: 0
warning: alloc - success - len: 50, ptr_align: 0
warning: shrink - success - 50 to 50, buf_align: 0
warning: alloc - success - len: 15, ptr_align: 0
warning: shrink - success - 15 to 15, buf_align: 0
warning: alloc - success - len: 1, ptr_align: 0
warning: shrink - success - 1 to 1, buf_align: 0
warning: alloc - success - len: 18, ptr_align: 0
warning: shrink - success - 18 to 18, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 14, ptr_align: 0
warning: shrink - success - 14 to 14, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 16, ptr_align: 0
warning: shrink - success - 16 to 16, buf_align: 0
warning: alloc - success - len: 17, ptr_align: 0
warning: shrink - success - 17 to 17, buf_align: 0
warning: alloc - success - len: 22, ptr_align: 0
warning: shrink - success - 22 to 22, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 16, ptr_align: 0
warning: shrink - success - 16 to 16, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 12, ptr_align: 0
warning: shrink - success - 12 to 12, buf_align: 0
warning: alloc - success - len: 51, ptr_align: 0
warning: shrink - success - 51 to 51, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 15, ptr_align: 0
warning: shrink - success - 15 to 15, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 9, ptr_align: 0
warning: shrink - success - 9 to 9, buf_align: 0
warning: alloc - success - len: 55, ptr_align: 0
warning: shrink - success - 55 to 55, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 53, ptr_align: 0
warning: shrink - success - 53 to 53, buf_align: 0
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 2, ptr_align: 0
warning: shrink - success - 2 to 2, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 32, ptr_align: 0
warning: shrink - success - 32 to 32, buf_align: 0
warning: alloc - success - len: 3, ptr_align: 0
warning: shrink - success - 3 to 3, buf_align: 0
warning: alloc - success - len: 32, ptr_align: 0
warning: shrink - success - 32 to 32, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning: alloc - success - len: 7, ptr_align: 0
warning: shrink - success - 7 to 7, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 4, ptr_align: 0
warning: shrink - success - 4 to 4, buf_align: 0
warning: alloc - success - len: 4248, ptr_align: 3
warning: free - len: 2136
warning: alloc - success - len: 11, ptr_align: 0
warning: shrink - success - 11 to 11, buf_align: 0
warning: alloc - success - len: 13, ptr_align: 0
warning: shrink - success - 13 to 13, buf_align: 0
warning: alloc - success - len: 21, ptr_align: 0
warning: shrink - success - 21 to 21, buf_align: 0
warning: alloc - success - len: 35, ptr_align: 0
warning: shrink - success - 35 to 35, buf_align: 0
warning: alloc - success - len: 8, ptr_align: 0
warning: shrink - success - 8 to 8, buf_align: 0
warning: alloc - success - len: 66, ptr_align: 0
warning: shrink - success - 66 to 66, buf_align: 0
warning: alloc - success - len: 14, ptr_align: 0
warning: shrink - success - 14 to 14, buf_align: 0
warning: alloc - success - len: 66, ptr_align: 0
warning: shrink - success - 66 to 66, buf_align: 0
warning: alloc - success - len: 13, ptr_align: 0
warning: shrink - success - 13 to 13, buf_align: 0
warning: alloc - success - len: 63, ptr_align: 0
warning: shrink - success - 63 to 63, buf_align: 0
warning: alloc - success - len: 6, ptr_align: 0
warning: shrink - success - 6 to 6, buf_align: 0
warning: alloc - success - len: 10, ptr_align: 0
warning: shrink - success - 10 to 10, buf_align: 0
warning(MsvcLibDir.findViaVs7Key.base_path.try_env): VS140COMNTOOLS = C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
warning: alloc - success - len: 105, ptr_align: 0
warning: free - len: 8
warning: free - len: 20
warning: free - len: 15
warning: free - len: 1
warning: free - len: 9
warning: free - len: 55
warning: free - len: 14
warning: free - len: 66
warning: free - len: 15
warning: free - len: 14
warning: free - len: 18
warning: free - len: 29
warning: free - len: 6
warning: free - len: 6
warning: free - len: 11
warning: free - len: 9
warning: free - len: 12
warning: free - len: 32
warning: free - len: 18
warning: free - len: 4
warning: free - len: 11
warning: free - len: 13
warning: free - len: 8
warning: free - len: 66
warning: free - len: 13
warning: free - len: 63
warning: free - len: 16
warning: free - len: 2
warning: free - len: 10
warning: free - len: 10
warning: free - len: 23
warning: free - len: 35
warning: free - len: 8
warning: free - len: 4
warning: free - len: 4
warning: free - len: 1545
warning: free - len: 20
warning: free - len: 19
warning: free - len: 6
warning: free - len: 16
warning: free - len: 7
warning: free - len: 29
warning: free - len: 12
warning: free - len: 7
warning: free - len: 12
warning: free - len: 37
warning: free - len: 9
warning: free - len: 8
warning: free - len: 4
warning: free - len: 32
warning: free - len: 11
warning: free - len: 14
warning: free - len: 12
warning: free - len: 16
warning: free - len: 21
warning: free - len: 35
warning: free - len: 17
warning: free - len: 22
warning: free - len: 8
warning: free - len: 43
warning: free - len: 20
warning: free - len: 1
warning: free - len: 18
warning: free - len: 29
warning: free - len: 11
warning: free - len: 7
warning: free - len: 12
warning: free - len: 16
warning: free - len: 2
warning: free - len: 10
warning: free - len: 7
warning: free - len: 53
warning: free - len: 3
warning: free - len: 7
warning: free - len: 9
warning: free - len: 2
warning: free - len: 12
warning: free - len: 27
warning: free - len: 7
warning: free - len: 62
warning: free - len: 6
warning: free - len: 15
warning: free - len: 10
warning: free - len: 7
warning: free - len: 9
warning: free - len: 34
warning: free - len: 3
warning: free - len: 32
warning: free - len: 3
warning: free - len: 3
warning: free - len: 6
warning: free - len: 4
warning: free - len: 11
warning: free - len: 2
warning: free - len: 20
warning: free - len: 50
warning: free - len: 7
warning: free - len: 7
warning: free - len: 25
warning: free - len: 3
warning: free - len: 8
warning: free - len: 11
warning: free - len: 7
warning: free - len: 27
warning: free - len: 13
warning: free - len: 19
warning: free - len: 6
warning: free - len: 10
warning: free - len: 7
warning: free - len: 53
warning: free - len: 22
warning: free - len: 5
warning: free - len: 12
warning: free - len: 51
warning: free - len: 3
warning: free - len: 19
warning: free - len: 4248
warning: shrink - success - 105 to 64, buf_align: 0
warning(MsvcLibDir.findViaVs7Key): full_path = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64
warning(MsvcLibDir.find): full_path = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64
warning: free - len: 38
warning: free - len: 12
warning: free - len: 39
warning: free - len: 3
warning: free - len: 64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

Note that the Windows 7 result is different than what it was previously / what it was in the cpp version. Before it was:

# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

But it seems to now be using the paths for an older Visual Studio 2015 install rather than the 2017 paths.

@BratishkaErik
Copy link
Contributor Author

I ran out of space on Windows, so for now I can't test if it's still wrong. gonna clean up now

@BratishkaErik
Copy link
Contributor Author

New report:

warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.20348
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.20348.0
warning(Windows10Sdk.find): version = 10.0.20348.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.20348.0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0
warning(iterateAndFilterBySemVer): subfolder_name = 17.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 0.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0_9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name = 17.0_9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name (before replacing _ with .) = 17.0_9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name (after  replacing _ with .) = 17.0.9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.1+build.9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.1+build.9e9cbb98
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 17.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 17.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): last_version = 17.0_9e9cbb98
warning(MsvcLibDir.findViaRegistry.vs_version): version = 17.0_9e9cbb98
warning(MsvcLibDir.findViaRegistry): vs_version = 17.0_9e9cbb98
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\17.0_9e9cbb98\privateregistry.bin
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\17.0_9e9cbb98_Config
warning(MsvcLibDir.findViaRegistry.source_directories): source_directories_value.len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated:
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

Now it should choose proper version again @squeek502 :)

@squeek502
Copy link
Collaborator

squeek502 commented Jun 14, 2023

The final printed paths match the old cpp version again for my Windows 7 install. Latest results:

Windows 10
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.22621
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.22621.0
warning(Windows10Sdk.find): version = 10.0.22621.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.22621.0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0_80a758ca
warning(iterateAndFilterBySemVer): subfolder_name = 17.0_80a758ca
warning(iterateAndFilterBySemVer): subfolder_name (before replacing _ with .) = 17.0_80a758ca
warning(iterateAndFilterBySemVer): subfolder_name (after  replacing _ with .) = 17.0.80a758ca
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.1+build.80a758ca
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.1+build.80a758ca
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 0.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name_normalized = BackupFiles.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = CacheService
warning(iterateAndFilterBySemVer): subfolder_name = CacheService
warning(iterateAndFilterBySemVer): subfolder_name_normalized = CacheService.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = RemoteSettings
warning(iterateAndFilterBySemVer): subfolder_name = RemoteSettings
warning(iterateAndFilterBySemVer): subfolder_name_normalized = RemoteSettings.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Roslyn
warning(iterateAndFilterBySemVer): subfolder_name = Roslyn
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Roslyn.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = vshub
warning(iterateAndFilterBySemVer): subfolder_name = vshub
warning(iterateAndFilterBySemVer): subfolder_name_normalized = vshub.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name_normalized = WebView2Cache.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): last_version = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry.vs_version): version = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry): vs_version = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\17.0_80a758ca\privateregistry.bin
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\17.0_80a758ca_Config
warning(MsvcLibDir.findViaRegistry.source_directories): source_directories_value.len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated: 
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=
Windows 7
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.17134
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.17134.0
warning(Windows10Sdk.find): version = 10.0.17134.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.17134.0
warning(Windows81Sdk.find.path81): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1\
warning(Windows81Sdk.find.path81): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find): path = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find.version81): sdk_lib_dir_path = C:\Program Files (x86)\Windows Kits\8.1\Lib\
warning(iterateAndFilterBySemVer): prefix to check (if any) = winv
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = winv6.3
warning(iterateAndFilterBySemVer): subfolder_name = 6.3
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 6.3.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 6.3.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 0.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(iterateAndFilterBySemVer): last_version = 6.3
warning(Windows81Sdk.find.version81): version = 6.3
warning(Windows81Sdk.find): version = 6.3
warning(ZigWindowsSDK.find): windows81sdk is null = false
warning(ZigWindowsSDK.find): windows81sdk.path = C:\Program Files (x86)\Windows Kits\8.1, windows81sdk.version = 6.3
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 14.0
warning(iterateAndFilterBySemVer): subfolder_name = 14.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 14.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 14.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 0.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 15.0
warning(iterateAndFilterBySemVer): subfolder_name = 15.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 15.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 15.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 14.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 14.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 15.0_6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name = 15.0_6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name (before replacing _ with .) = 15.0_6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name (after  replacing _ with .) = 15.0.6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 15.0.1+build.6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 15.0.1+build.6b9e52af
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 15.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 15.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = vshub
warning(iterateAndFilterBySemVer): subfolder_name = vshub
warning(iterateAndFilterBySemVer): subfolder_name_normalized = vshub.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): last_version = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry.vs_version): version = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry): vs_version = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\15.0_6b9e52af\privateregistry.bin
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\15.0_6b9e52af_Config
warning(MsvcLibDir.findViaRegistry.source_directories): source_directories_value.len = 1739
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cvt\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\msclr\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\sys\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\thr\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\x64\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\arm\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\concrt\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\i386\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\linkopts\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\stl\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vccorlib\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vcruntime\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated: 
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\thr\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 16: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64
warning(MsvcLibDir.find): full_path = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

EDIT: And here's a libc_only.exe build if anyone wants to try it on their system:

libc_only-20230613.zip

@mlarouche
Copy link
Contributor

Here's the result on my work laptop with Windows 11 and Visuall Studio 2022 installed.

warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.22000
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.22000.0
warning(Windows10Sdk.find): version = 10.0.22000.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.22000.0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\micha\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0_281a9261
warning(iterateAndFilterBySemVer): subfolder_name = 17.0_281a9261
warning(iterateAndFilterBySemVer): subfolder_name (before replacing _ with .) = 17.0_281a9261
warning(iterateAndFilterBySemVer): subfolder_name (after  replacing _ with .) = 17.0.281a9261
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.1+build.281a9261
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.1+build.281a9261
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 0.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name_normalized = BackupFiles.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = CacheService
warning(iterateAndFilterBySemVer): subfolder_name = CacheService
warning(iterateAndFilterBySemVer): subfolder_name_normalized = CacheService.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = vshub
warning(iterateAndFilterBySemVer): subfolder_name = vshub
warning(iterateAndFilterBySemVer): subfolder_name_normalized = vshub.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name_normalized = WebView2Cache.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): last_version = 17.0_281a9261
warning(MsvcLibDir.findViaRegistry.vs_version): version = 17.0_281a9261
warning(MsvcLibDir.findViaRegistry): vs_version = 17.0_281a9261
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\micha\AppData\Local\Microsoft\VisualStudio\17.0_281a9261\privateregistry.bin
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\17.0_281a9261_Config
warning(MsvcLibDir.findViaRegistry.source_directories): source_directories_value.len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated:
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\Lib\x64
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\Lib\x64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

@sgwong
Copy link

sgwong commented Jun 15, 2023

Not sure what should I get. But here is my output.
PC with windows 11 but install multiple Visual studio version.
VS 2017 build tools
VS 2019 community + build tools
VS 2022 community
The VS 2022 MSVC folder doesn't have the crt folder as VS 2019. this cause the libcstdhdr not found?

 Directory of C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532

06/03/2023  12:50 PM    <DIR>          .
06/03/2023  12:48 PM    <DIR>          ..
06/03/2023  12:50 PM    <DIR>          Auxiliary
06/03/2023  12:50 PM    <DIR>          bin
06/03/2023  12:50 PM    <DIR>          include
06/03/2023  12:50 PM    <DIR>          lib
06/03/2023  12:48 PM    <DIR>          modules
               0 File(s)              0 bytes
               7 Dir(s)  128,883,449,856 bytes free
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.22000
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.22000.0
warning(Windows10Sdk.find): version = 10.0.22000.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.22000.0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\sgwon\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 16.0
warning(iterateAndFilterBySemVer): subfolder_name = 16.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 16.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 16.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 0.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 0.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 16.0_67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name = 16.0_67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name (before replacing _ with .) = 16.0_67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name (after  replacing _ with .) = 16.0.67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 16.0.1+build.67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 16.0.1+build.67f2a8e9
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 16.0.0+build.0
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 16.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0_f84b1006
warning(iterateAndFilterBySemVer): subfolder_name = 17.0_f84b1006
warning(iterateAndFilterBySemVer): subfolder_name (before replacing _ with .) = 17.0_f84b1006
warning(iterateAndFilterBySemVer): subfolder_name (after  replacing _ with .) = 17.0.f84b1006
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.1+build.f84b1006
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.1+build.f84b1006
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized = 16.0.1+build.67f2a8e9
warning(iterateAndFilterBySemVer): previous_subfolder_name_normalized as SemVer = 16.0.1+build.67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name_normalized = BackupFiles.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = CacheService
warning(iterateAndFilterBySemVer): subfolder_name = CacheService
warning(iterateAndFilterBySemVer): subfolder_name_normalized = CacheService.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = NestingProfiles
warning(iterateAndFilterBySemVer): subfolder_name = NestingProfiles
warning(iterateAndFilterBySemVer): subfolder_name_normalized = NestingProfiles.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = RemoteSettings
warning(iterateAndFilterBySemVer): subfolder_name = RemoteSettings
warning(iterateAndFilterBySemVer): subfolder_name_normalized = RemoteSettings.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Roslyn
warning(iterateAndFilterBySemVer): subfolder_name = Roslyn
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Roslyn.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = vshub
warning(iterateAndFilterBySemVer): subfolder_name = vshub
warning(iterateAndFilterBySemVer): subfolder_name_normalized = vshub.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name_normalized = WebView2Cache.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): last_version = 17.0_f84b1006
warning(MsvcLibDir.findViaRegistry.vs_version): version = 17.0_f84b1006
warning(MsvcLibDir.findViaRegistry): vs_version = 17.0_f84b1006
warning(MsvcLibDir.findViaRegistry): privateregistry_absolute_path = C:\Users\sgwon\AppData\Local\Microsoft\VisualStudio\17.0_f84b1006\privateregistry.bin
warning(MsvcLibDir.findViaRegistry): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry): config_subkey = Software\Microsoft\VisualStudio\17.0_f84b1006_Config
warning(ZigWindowsSDK.find): msvc_lib_dir = null
error: unable to detect native libc: LibCStdLibHeaderNotFound

@BratishkaErik
Copy link
Contributor Author

The VS 2022 MSVC folder doesn't have the crt folder as VS 2019. this cause the libcstdhdr not found?

Seems like it. Would you like to try on master-branch build too?

@sgwong
Copy link

sgwong commented Jun 15, 2023

you mean with run with zig master? I tried run with some latest prebuild zig version with following output

C:\Users\sgwon>zig version
0.11.0-dev.3395+1e7dcaa3a

C:\Users\sgwon>zig libc
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\lib\x64\

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

@BratishkaErik
Copy link
Contributor Author

BratishkaErik commented Jun 15, 2023

hm, I think from now on I'll save all suitable folder names, sort them and traverse on sorted list (from „newest” to „oldest”), (re-)trying same privateregistry.bin logic. Does that sound right?

@sgwong
Copy link

sgwong commented Jun 15, 2023

ok, that should solve my issue.

@BratishkaErik
Copy link
Contributor Author

I'm not sure if it is fixed, I just copy-pasted folders since I don't have enough space for other versions to install on Windows partition:

warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.20348
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.20348.0
warning(Windows10Sdk.find): version = 10.0.20348.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.20348.0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 16.1
warning(iterateAndFilterBySemVer): subfolder_name = 16.1
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 16.1.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 16.1.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0
warning(iterateAndFilterBySemVer): subfolder_name = 17.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0_9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name = 17.0_9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (before replacing _ with .) = 17.0_9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (after  replacing _ with .) = 17.0.9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.1+build.9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.1+build.9e9cbb98
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0_9e9cbb99
warning(iterateAndFilterBySemVer): subfolder_name = 17.0_9e9cbb99
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (before replacing _ with .) = 17.0_9e9cbb99
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (after  replacing _ with .) = 17.0.9e9cbb99
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.1+build.9e9cbb99
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.1+build.9e9cbb99
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.1
warning(iterateAndFilterBySemVer): subfolder_name = 17.1
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.1.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.1.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.2
warning(iterateAndFilterBySemVer): subfolder_name = 17.2
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.2.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.2.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): Before sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 16.1
warning(iterateAndFilterBySemVer): Filtered dir 1 = 17.0
warning(iterateAndFilterBySemVer): Filtered dir 2 = 17.0_9e9cbb98
warning(iterateAndFilterBySemVer): Filtered dir 3 = 17.0_9e9cbb99
warning(iterateAndFilterBySemVer): Filtered dir 4 = 17.1
warning(iterateAndFilterBySemVer): Filtered dir 5 = 17.2
warning(iterateAndFilterBySemVer): After sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 17.2
warning(iterateAndFilterBySemVer): Filtered dir 1 = 17.1
warning(iterateAndFilterBySemVer): Filtered dir 2 = 17.0_9e9cbb99
warning(iterateAndFilterBySemVer): Filtered dir 3 = 17.0_9e9cbb98
warning(iterateAndFilterBySemVer): Filtered dir 4 = 17.0
warning(iterateAndFilterBySemVer): Filtered dir 5 = 16.1
warning(MsvcLibDir.findViaRegistry.source_directories): vs_version = 17.2
warning(MsvcLibDir.findViaRegistry.source_directories): privateregistry_absolute_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\17.2\privateregistry.bin
warning(MsvcLibDir.findViaRegistry.source_directories): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry.source_directories): config_subkey = Software\Microsoft\VisualStudio\17.2_Config
warning(MsvcLibDir.findViaRegistry.source_directories): vs_version = 17.1
warning(MsvcLibDir.findViaRegistry.source_directories): privateregistry_absolute_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\17.1\privateregistry.bin
warning(MsvcLibDir.findViaRegistry.source_directories): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry.source_directories): config_subkey = Software\Microsoft\VisualStudio\17.1_Config
warning(MsvcLibDir.findViaRegistry.source_directories): vs_version = 17.0_9e9cbb99
warning(MsvcLibDir.findViaRegistry.source_directories): privateregistry_absolute_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\17.0_9e9cbb99\privateregistry.bin
warning(MsvcLibDir.findViaRegistry.source_directories): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry.source_directories): config_subkey = Software\Microsoft\VisualStudio\17.0_9e9cbb99_Config
warning(MsvcLibDir.findViaRegistry.source_directories): vs_version = 17.0_9e9cbb98
warning(MsvcLibDir.findViaRegistry.source_directories): privateregistry_absolute_path = C:\Users\Эрик\AppData\Local\Microsoft\VisualStudio\17.0_9e9cbb98\privateregistry.bin
warning(MsvcLibDir.findViaRegistry.source_directories): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry.source_directories): config_subkey = Software\Microsoft\VisualStudio\17.0_9e9cbb98_Config
warning(MsvcLibDir.findViaRegistry.source_directories): Source Directories succesfully read, len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated:
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\atlmfc\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

@andrewrk
Copy link
Member

What's left until this is no longer [WIP]?

@BratishkaErik
Copy link
Contributor Author

What's left until this is no longer [WIP]?

sgwong' re-test and someone's test with mutiple Windows 8.1 SDKs

@The-King-of-Toasters
Copy link
Contributor

Also #1840 instead of introducing RegGetValueW. @BratishkaErik I recommend using NtTrace to find the exact calls used.

@BratishkaErik
Copy link
Contributor Author

Also #1840 instead of introducing RegGetValueW. @BratishkaErik I recommend using NtTrace to find the exact calls used.

Sorry for reply, I'm stupid, I thought it was 10840

@andrewrk
Copy link
Member

I don't think Windows 8.1 support needs to be a merge blocker, it is already unsupported by Microsoft.

@sgwong
Copy link

sgwong commented Jun 22, 2023

I can't reproduce my environment anymore. Probably I do VS update causing it to change. My VS 2022 VC folder has all the crt and atlmfc folder now. I tested your latest code and it works fine(even your previous code build by squeek502 also works). The zig master detected VS 2019 build tools but your version detected VS 2022 which is fine.

I can't build zig on my windows, so I follow how squeek502 build it with your latest code from your repo, you can check whether I use the latest code or not:
libc_only.zip

Here is the output from the patched libc:
c:\Project\zig\ziglang\libc_only>libc_only.exe
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.22000
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.22000.0
warning(Windows10Sdk.find): version = 10.0.22000.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.22000.0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\sgwon\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 16.0
warning(iterateAndFilterBySemVer): subfolder_name = 16.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 16.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 16.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 16.0_67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name = 16.0_67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (before replacing _ with .) = 16.0_67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (after  replacing _ with .) = 16.0.67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 16.0.1+build.67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 16.0.1+build.67f2a8e9
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0_f84b1006
warning(iterateAndFilterBySemVer): subfolder_name = 17.0_f84b1006
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (before replacing _ with .) = 17.0_f84b1006
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (after  replacing _ with .) = 17.0.f84b1006
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.1+build.f84b1006
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.1+build.f84b1006
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name_normalized = BackupFiles.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = CacheService
warning(iterateAndFilterBySemVer): subfolder_name = CacheService
warning(iterateAndFilterBySemVer): subfolder_name_normalized = CacheService.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = NestingProfiles
warning(iterateAndFilterBySemVer): subfolder_name = NestingProfiles
warning(iterateAndFilterBySemVer): subfolder_name_normalized = NestingProfiles.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normali
zed = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = RemoteSettings
warning(iterateAndFilterBySemVer): subfolder_name = RemoteSettings
warning(iterateAndFilterBySemVer): subfolder_name_normalized = RemoteSettings.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Roslyn
warning(iterateAndFilterBySemVer): subfolder_name = Roslyn
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Roslyn.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = vshub
warning(iterateAndFilterBySemVer): subfolder_name = vshub
warning(iterateAndFilterBySemVer): subfolder_name_normalized = vshub.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name_normalized = WebView2Cache.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): Before sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 16.0
warning(iterateAndFilterBySemVer): Filtered dir 1 = 16.0_67f2a8e9
warning(iterateAndFilterBySemVer): Filtered dir 2 = 17.0_f84b1006
warning(iterateAndFilterBySemVer): After sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 17.0_f84b1006
warning(iterateAndFilterBySemVer): Filtered dir 1 = 16.0_67f2a8e9
warning(iterateAndFilterBySemVer): Filtered dir 2 = 16.0
warning(MsvcLibDir.findViaRegistry.source_directories): vs_version = 17.0_f84b1006
warning(MsvcLibDir.findViaRegistry.source_directories): privateregistry_absolute_path = C:\Users\sgwon\AppData\Local\Microsoft\VisualStudio\17.0_f84b1006\privateregistry.bin
warning(MsvcLibDir.findViaRegistry.source_directories): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry.source_directories): config_subkey = Software\Microsoft\VisualStudio\17.0_f84b1006_Config
warning(MsvcLibDir.findViaRegistry.source_directories): Source Directories succesfully read, len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated:
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\Lib\x64
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\Lib\x64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

Here is the zig master output:
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\lib\x64\

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

@squeek502
Copy link
Collaborator

squeek502 commented Jun 22, 2023

Still looks good on my Windows installs.

Windows 10
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.22621
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.22621.0
warning(Windows10Sdk.find): version = 10.0.22621.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.22621.0
warning(ZigWindowsSDK.find): windows81sdk is null = true
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 17.0_80a758ca
warning(iterateAndFilterBySemVer): subfolder_name = 17.0_80a758ca
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (before replacing _ with .) = 17.0_80a758ca
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (after  replacing _ with .) = 17.0.80a758ca
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 17.0.1+build.80a758ca
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 17.0.1+build.80a758ca
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name = BackupFiles
warning(iterateAndFilterBySemVer): subfolder_name_normalized = BackupFiles.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = CacheService
warning(iterateAndFilterBySemVer): subfolder_name = CacheService
warning(iterateAndFilterBySemVer): subfolder_name_normalized = CacheService.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = RemoteSettings
warning(iterateAndFilterBySemVer): subfolder_name = RemoteSettings
warning(iterateAndFilterBySemVer): subfolder_name_normalized = RemoteSettings.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Roslyn
warning(iterateAndFilterBySemVer): subfolder_name = Roslyn
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Roslyn.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = vshub
warning(iterateAndFilterBySemVer): subfolder_name = vshub
warning(iterateAndFilterBySemVer): subfolder_name_normalized = vshub.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name = WebView2Cache
warning(iterateAndFilterBySemVer): subfolder_name_normalized = WebView2Cache.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): Before sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 17.0_80a758ca
warning(iterateAndFilterBySemVer): After sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry.source_directories): vs_version = 17.0_80a758ca
warning(MsvcLibDir.findViaRegistry.source_directories): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\17.0_80a758ca\privateregistry.bin
warning(MsvcLibDir.findViaRegistry.source_directories): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry.source_directories): config_subkey = Software\Microsoft\VisualStudio\17.0_80a758ca_Config
warning(MsvcLibDir.findViaRegistry.source_directories): Source Directories succesfully read, len = 1542
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated: 
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning(MsvcLibDir.find): full_path = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=
Windows 7
warning(Windows10Sdk.find.path10): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\10\
warning(Windows10Sdk.find.path10): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find): path = C:\Program Files (x86)\Windows Kits\10
warning(Windows10Sdk.find.version10): version_without_0 = 10.0.17134
warning(Windows10Sdk.find.version10): version_with_0 = 10.0.17134.0
warning(Windows10Sdk.find): version = 10.0.17134.0
warning(ZigWindowsSDK.find): windows10sdk is null = false
warning(ZigWindowsSDK.find): windows10sdk.path = C:\Program Files (x86)\Windows Kits\10, windows10sdk.version = 10.0.17134.0
warning(Windows81Sdk.find.path81): path_maybe_with_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1\
warning(Windows81Sdk.find.path81): path_without_trailing_slash = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find): path = C:\Program Files (x86)\Windows Kits\8.1
warning(Windows81Sdk.find.version81): sdk_lib_dir_path = C:\Program Files (x86)\Windows Kits\8.1\Lib\
warning(iterateAndFilterBySemVer): prefix to check (if any) = winv
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = winv6.3
warning(iterateAndFilterBySemVer): subfolder_name = 6.3
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 6.3.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 6.3.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): Before sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 6.3
warning(iterateAndFilterBySemVer): After sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 6.3
warning(Windows81Sdk.find.version81): latest_version = 6.3
warning(Windows81Sdk.find): version = 6.3
warning(ZigWindowsSDK.find): windows81sdk is null = false
warning(ZigWindowsSDK.find): windows81sdk.path = C:\Program Files (x86)\Windows Kits\8.1, windows81sdk.version = 6.3
warning(MsvcLibDir.findViaRegistry): visualstudio_folder_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\
warning(iterateAndFilterBySemVer): prefix to check (if any) = none
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 14.0
warning(iterateAndFilterBySemVer): subfolder_name = 14.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 14.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 14.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 15.0
warning(iterateAndFilterBySemVer): subfolder_name = 15.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 15.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 15.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = 15.0_6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name = 15.0_6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (before replacing _ with .) = 15.0_6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name_tmp_copy (after  replacing _ with .) = 15.0.6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name_normalized = 15.0.1+build.6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = 15.0.1+build.6b9e52af
warning(iterateAndFilterBySemVer): subfolder_name passed check
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = Packages
warning(iterateAndFilterBySemVer): subfolder_name = Packages
warning(iterateAndFilterBySemVer): subfolder_name_normalized = Packages.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name = SettingsLogs
warning(iterateAndFilterBySemVer): subfolder_name_normalized = SettingsLogs.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): subfolder_name (possibly with prefix) = vshub
warning(iterateAndFilterBySemVer): subfolder_name = vshub
warning(iterateAndFilterBySemVer): subfolder_name_normalized = vshub.0.0+build.0
warning(iterateAndFilterBySemVer): subfolder_name_normalized as SemVer = error.InvalidVersion
warning(iterateAndFilterBySemVer): Before sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 14.0
warning(iterateAndFilterBySemVer): Filtered dir 1 = 15.0
warning(iterateAndFilterBySemVer): Filtered dir 2 = 15.0_6b9e52af
warning(iterateAndFilterBySemVer): After sorting:
warning(iterateAndFilterBySemVer): Filtered dir 0 = 15.0_6b9e52af
warning(iterateAndFilterBySemVer): Filtered dir 1 = 15.0
warning(iterateAndFilterBySemVer): Filtered dir 2 = 14.0
warning(MsvcLibDir.findViaRegistry.source_directories): vs_version = 15.0_6b9e52af
warning(MsvcLibDir.findViaRegistry.source_directories): privateregistry_absolute_path = C:\Users\Ryan\AppData\Local\Microsoft\VisualStudio\15.0_6b9e52af\privateregistry.bin
warning(MsvcLibDir.findViaRegistry.source_directories): loadFromPath successfully!
warning(MsvcLibDir.findViaRegistry.source_directories): config_subkey = Software\Microsoft\VisualStudio\15.0_6b9e52af_Config
warning(MsvcLibDir.findViaRegistry.source_directories): Source Directories succesfully read, len = 1739
warning(MsvcLibDir.findViaRegistry): source_directories = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cvt\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\msclr\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\sys\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\thr\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\x64\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\arm\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\concrt\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\i386\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\linkopts\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\stl\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vccorlib\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vcruntime\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\include\
warning(MsvcLibDir.findViaRegistry): value of SourceDirectories in VisualStudio registry, separated: 
warning(MsvcLibDir.findViaRegistry): 0: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\
warning(MsvcLibDir.findViaRegistry): 1: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cvt\
warning(MsvcLibDir.findViaRegistry): 2: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\msclr\
warning(MsvcLibDir.findViaRegistry): 3: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\sys\
warning(MsvcLibDir.findViaRegistry): 4: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\thr\
warning(MsvcLibDir.findViaRegistry): 5: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\
warning(MsvcLibDir.findViaRegistry): 6: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\x64\
warning(MsvcLibDir.findViaRegistry): 7: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\arm\
warning(MsvcLibDir.findViaRegistry): 8: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\concrt\
warning(MsvcLibDir.findViaRegistry): 9: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\i386\
warning(MsvcLibDir.findViaRegistry): 10: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\linkopts\
warning(MsvcLibDir.findViaRegistry): 11: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\stl\
warning(MsvcLibDir.findViaRegistry): 12: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vccorlib\
warning(MsvcLibDir.findViaRegistry): 13: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src\vcruntime\
warning(MsvcLibDir.findViaRegistry): 14: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc\
warning(MsvcLibDir.findViaRegistry): 15: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl\
warning(MsvcLibDir.findViaRegistry): 16: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_include_dir_maybe_with_trailing_slash = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\
warning(MsvcLibDir.findViaRegistry.msvc_dir): msvc_dir_with_arch = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64
warning(MsvcLibDir.find): full_path = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64
warning(ZigWindowsSDK.find): msvc_lib_dir = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include

# The directory that contains `crt1.o` or `crt2.o`.
# On POSIX, can be found with `cc -print-file-name=crt1.o`.
# Not needed when targeting MacOS.
crt_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\ucrt\x64

# The directory that contains `vcruntime.lib`.
# Only needed when targeting MSVC on Windows.
msvc_lib_dir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\Lib\x64

# The directory that contains `kernel32.lib`.
# Only needed when targeting MSVC on Windows.
kernel32_lib_dir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um\x64

# The directory that contains `crtbeginS.o` and `crtendS.o`
# Only needed when targeting Haiku.
gcc_dir=

Here's an up-to-date libc_only.exe build if that's helpful for anyone else that wants to test it on their system:

libc_only-20230621.zip

Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
@andrewrk
Copy link
Member

Any reason this is still draft/WIP? It looks ready to me.

@BratishkaErik
Copy link
Contributor Author

Any reason this is still draft/WIP? It looks ready to me.

I tried to rewrite it using Native API as suggested by @The-King-of-Toasters , but I was blocked half-way by RegLoadAppKey which I couldn't rewrite in lower-level terms (seems like it's impossible without requesting privileges (which advapi dll already has), but in this case it will be practically no different from RegLoadKey/NtLoadKey).
I tried to keep only RegLoadAppKey from advapi and use ntapi everywhere else, but unfortunately I didn't succeed and it looks like I need to use duplicate functions from advapi just for RegLoadAppKey. So shortly:

  • Rewrite everything in NT and deal with the fact that Zig now asks some permissions from the user (obviously bas scenario) (maybe there is a way, but I did not find one)
  • Rewrite everything excluding RegLoadAppKey in NT and duplicate some advapi functions just for RegLoadAppKey (like in previous commits)
  • (For now) leave it on advapi (pre-rewrite tested working version and version now (they are identical))
  • Find some way to detect Visual Studio's MSVC without using registry.bin (old way from windows_sdk.cpp will (IIUC) still keep C++ dependency, so some other way)

@andrewrk
Copy link
Member

andrewrk commented Jul 24, 2023

Go ahead and use advapi. This is the compiler, not the standard library. The compiler doesn't need to limit to ntdll.

@BratishkaErik BratishkaErik changed the title [WIP] src/windows_sdk.cpp: port to Zig src/windows_sdk.cpp: port to Zig Jul 24, 2023
@BratishkaErik BratishkaErik marked this pull request as ready for review July 24, 2023 16:13
@BratishkaErik
Copy link
Contributor Author

Go ahead and use advapi. This is the compiler, not the standard library. The compiler doesn't need to limit to ntdll.

OK! I removed draft status.

@andrewrk
Copy link
Member

OK, excellent work!

@andrewrk andrewrk merged commit 77b9623 into ziglang:master Jul 24, 2023
@BratishkaErik
Copy link
Contributor Author

Nice, my big thanks to everyone for reviewing and testing this :)

@BratishkaErik BratishkaErik deleted the windows-sdk-finder-port-to-zig branch July 24, 2023 17:59
@igaryhe
Copy link
Contributor

igaryhe commented Jul 28, 2023

hi, i only have visual studio build tools installed, and before this pr, zig was able to find the installed libc. however, with this pr merged, i'm forced to install visual studio (the ide) to be able to generate the pnivateregistry.bin file, so that zig could find the libc installation. this looks like a regression. are we able to support the old way in the future?

@squeek502
Copy link
Collaborator

squeek502 commented Jul 28, 2023

Can confirm the regression when only the build tools are installed.

I have some experience with using COM from Zig and I think it should be possible to port the IEnumSetupInstances code directly to fix the regression. Will try giving that a go (got part of it working already so I have some faith).

squeek502 added a commit to squeek502/zig that referenced this pull request Jul 28, 2023
The C++ version of this code used this logic, and it turns out it is able to find some setups that the current registry/Vs7 methods cannot.

For example, if only the "Build Tools for Visual Studio" are installed but not Visual Studio itself, then only the ISetupEnumInstances method seems to find it.

Follow up to ziglang#15657
@squeek502
Copy link
Collaborator

@igaryhe made a PR that should fix the regression. Would appreciate it if you could test it out to make sure it works for your setup: #16594

squeek502 added a commit to squeek502/zig that referenced this pull request Jul 29, 2023
The C++ version of this code used this logic, and it turns out it is able to find some setups that the current registry/Vs7 methods cannot.

For example, if only the "Build Tools for Visual Studio" are installed but not Visual Studio itself, then only the ISetupEnumInstances method seems to find it.

Follow up to ziglang#15657, fixes a regression caused by moving from the C++ version to the Zig version
squeek502 added a commit to squeek502/zig that referenced this pull request Jul 29, 2023
The C++ version of this code used this logic, and it turns out it is able to find some setups that the current registry/Vs7 methods cannot.

For example, if only the "Build Tools for Visual Studio" are installed but not Visual Studio itself, then only the ISetupEnumInstances method seems to find it.

Follow up to ziglang#15657, fixes a regression caused by moving from the C++ version to the Zig version
QusaiHroub pushed a commit to QusaiHroub/zig that referenced this pull request Aug 3, 2023
The C++ version of this code used this logic, and it turns out it is able to find some setups that the current registry/Vs7 methods cannot.

For example, if only the "Build Tools for Visual Studio" are installed but not Visual Studio itself, then only the ISetupEnumInstances method seems to find it.

Follow up to ziglang#15657, fixes a regression caused by moving from the C++ version to the Zig version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

port windows_sdk.cpp to zig (msvc installation detection)
7 participants