[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