You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Windows, headers like <winsock2.h> or <io.h> inject a POSIX write() into the global namespace. Every call site that resolves h5::write then becomes ambiguous. Fix: qualify all internal call sites, or wrap the HDF5/Windows headers to prevent the leakage.
Blocker 3 — H5Pset_fapl_direct undefined on Windows
h5cpp/H5Pall.hpp references H5Pset_fapl_direct unconditionally. This function requires O_DIRECT (Linux only). PR #74 already has the #ifdef H5_HAVE_DIRECT guard; absorb it.
Scope
Absorb the three fixes from PR Compile on windows #74 (C2580, aligned_alloc, H5Pset_fapl_direct)
Resolve h5::write / POSIX write ambiguity on Windows Clang and MSVC
Add a Windows runner (windows-latest) to the CI matrix with MSVC or Clang-cl
Verify find_package(HDF5) works with a pre-installed HDF5 on the Windows runner
Problem
H5CPP does not compile on Windows. Three distinct blockers are known.
Blocker 1 —
aligned_allocunavailable on MSVCh5cpp/H5Zpipeline.hppallocates chunk buffers withaligned_alloc(), which is a C11 function not implemented by MSVC. Needs a platform shim:The
h5::impl::freedeleter inH5misc.hppalso needs a matching_aligned_freebranch on MSVC. PR #74 already has a fix for this; absorb it.Blocker 2 —
h5::writename ambiguity (issue #58)On Windows, headers like
<winsock2.h>or<io.h>inject a POSIXwrite()into the global namespace. Every call site that resolvesh5::writethen becomes ambiguous. Fix: qualify all internal call sites, or wrap the HDF5/Windows headers to prevent the leakage.Blocker 3 —
H5Pset_fapl_directundefined on Windowsh5cpp/H5Pall.hppreferencesH5Pset_fapl_directunconditionally. This function requiresO_DIRECT(Linux only). PR #74 already has the#ifdef H5_HAVE_DIRECTguard; absorb it.Scope
aligned_alloc,H5Pset_fapl_direct)h5::write/ POSIXwriteambiguity on Windows Clang and MSVCwindows-latest) to the CI matrix with MSVC or Clang-clfind_package(HDF5)works with a pre-installed HDF5 on the Windows runnerReferences
h5::writeambiguity