Open mizvekov opened 3 years ago
Thanks for this BR. I think it applies actually exclusively to status-code, not Outcome, so I moved it here.
Yeah you are right sorry, was using the single-header version which pulled everything :)
On GCC it looks like
__attribute__((alias("GetLastError")))
could work ?
well, it does not seem like it works so far. @ned14 would it be reasonable to have a patch that replaces those by inlines which calls the winapi functions directly in the GCC / MinGW case ? (Also I'm curious about the rationale for this design altogether, what is the value added to the library ? Wouldn't it make sense to LoadLibrary these symbols instead to simplify this, as this is in the end what the windows linker is going to do more-or-less AFAIK?)
The intention is to avoid status code headers including windows headers.
I would be keen to continue to not include windows headers. TBH I no longer have easy access to a windows dev box, which has not helped me get around to installing mingw and getting this fixed.
hm, on which platform are you ? for this library the mingw packages on any linux distro would work
I didn't know Ubuntu had packages for mingw until now.
Boost has closed the change window for the beta release, when it opens I might see if I can find the time to close this issue.
thanks ! if you have any lead on how to fix this properly I can also look into it
Try this fix and let me know if it works for you. Those Linux mingw packages were very useful, thank you.
thanks, testing ASAP
WIndows GNU ABI has different mangling than MSVC ABI, so the linker symbol aliases for GetLastError / FormatMessage etc don't work.
These aliases instead would work:
The above is enough to get it working with clang/lld targeting MINGW64 / GNU ABI (which is only what I need personally). GCC / ld however do not support neither the
#pragma comment
nor/alternatename
, so a different strategy is needed there.