[us-commits] [ehb54/ultrascan3] d5d2ba: Fix Windows/MinGW build: std::byte vs rpcndr.h byt...

emre brookes noreply at github.com
Wed Aug 19 10:48:18 MDT 2026


  Branch: refs/heads/ehb54-issue-980
  Home:   https://github.com/ehb54/ultrascan3
  Commit: d5d2baee7f86710dfa16afe6a3b1cf270226db8e
      https://github.com/ehb54/ultrascan3/commit/d5d2baee7f86710dfa16afe6a3b1cf270226db8e
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-08-19 (Wed, 19 Aug 2026)

  Changed paths:
    M us_somo/develop/include/us_hydrodyn_perceive_dialog.h

  Log Message:
  -----------
  Fix Windows/MinGW build: std::byte vs rpcndr.h byte ambiguity

moc_us_hydrodyn_perceive_dialog.cpp failed to compile under MSYS2/MinGW64
with ~40 "reference to byte is ambiguous" errors from the Win32 SDK headers.

us_hydrodyn_perceive_somo.h reaches us_hydrodyn_pdbdefs.h, whose
"using namespace std;" makes std::byte visible unqualified. us_util.h then
pulls in windows.h via us.h -> QtWidgets -> qopengl.h -> qt_windows.h, and
rpcndr.h typedefs a global "byte", so every subsequent use is ambiguous.

Including us_util.h first parses windows.h before the using-directive is in
scope, which is the order every other SOMO header already follows (see
us_hydrodyn.h, us.h at line 29 ahead of us_hydrodyn_pdbdefs.h at line 35).
The .cpp was unaffected because it includes us3_defines.h first; only the moc
translation unit, which includes the header bare, hit the error.

Same change as on the main-based branch for this ticket, so the fix is not
lost when this branch merges to somo-dev.

Ref ehb54/ultrascan-tickets#1022

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>



To unsubscribe from these emails, change your notification settings at https://github.com/ehb54/ultrascan3/settings/notifications


More information about the us-commits mailing list