Minor correction with GNU vs MSVC C ABIs you can make calls into Microsoft dlls for things like encryption, but you cannot link against when compiling it if you are using GNU, instead you'd load the DLL dynamically (std.DynLib.open), and hand rolling your own Zig wrapper to make calls, losing some safety. This is specifically an issue with Clang GNU on Windows. MingW GNU can link to Windows libraries, but Zig uses LLVM thus Clang i.e `zig cc`.
Gah, I left out game development! Raylib-Zig has a powershell script for windows to setup everything. However there is a problem with Windows 11 on Arm. Windows does not support OpenGL on Windows 11 for ARM64, the OpenGL drivers (dlls) are x64/x86. So I cannot compile Raylib and thus Raylib Zig out of the box for ARM64, well... at all. There are MESA OpenGL drivers I was trying to setup as that has ARM64 versions, but I was running out of steam. On x86_64, or just x64 all this just works and no issues. I can even compile to WASM (given the limitations around allocators). If I wanted to do "native" game development in Zig on Windows 11 on Arm64, I need an directx support, so Zig SDL2/3, BGFX, Mach Engine should work. Vulkan would be an option for a true Arm64 windows PC i.e Snapdragon PC's, but VMWare Fusion does not support Vulkan. That said, Zig in game development is the good part. I've been doing all this crap with PHP because I want to make a game engine in Zig and hook in PHP as the scripting engine. I had a version working in C++ with PHP which ran everywhere (iOS, Android, Mac/Linux/Window) except WASM/Web, using BGFX as the backend.
Minor correction with GNU vs MSVC C ABIs you can make calls into Microsoft dlls for things like encryption, but you cannot link against when compiling it if you are using GNU, instead you'd load the DLL dynamically (std.DynLib.open), and hand rolling your own Zig wrapper to make calls, losing some safety. This is specifically an issue with Clang GNU on Windows. MingW GNU can link to Windows libraries, but Zig uses LLVM thus Clang i.e `zig cc`.
You tried raylib?
Gah, I left out game development! Raylib-Zig has a powershell script for windows to setup everything. However there is a problem with Windows 11 on Arm. Windows does not support OpenGL on Windows 11 for ARM64, the OpenGL drivers (dlls) are x64/x86. So I cannot compile Raylib and thus Raylib Zig out of the box for ARM64, well... at all. There are MESA OpenGL drivers I was trying to setup as that has ARM64 versions, but I was running out of steam. On x86_64, or just x64 all this just works and no issues. I can even compile to WASM (given the limitations around allocators). If I wanted to do "native" game development in Zig on Windows 11 on Arm64, I need an directx support, so Zig SDL2/3, BGFX, Mach Engine should work. Vulkan would be an option for a true Arm64 windows PC i.e Snapdragon PC's, but VMWare Fusion does not support Vulkan. That said, Zig in game development is the good part. I've been doing all this crap with PHP because I want to make a game engine in Zig and hook in PHP as the scripting engine. I had a version working in C++ with PHP which ran everywhere (iOS, Android, Mac/Linux/Window) except WASM/Web, using BGFX as the backend.