I'm confused how people use MinGW to compile Windows programs.
I tried using it, but headers like atlalloc.h and atlcom.h use __try in a few ways... which no version of GCC appears to support, for example:
__declspec(noinline) inline bool _AtlVerifyStackAvailable(_In_ SIZE_T Size) {
bool bStackAvailable = true;
__try {
...
How do people compile Windows programs with GCC-based toolchains? Do they simply avoid ATL altogether? Or is there some way to make ATL work with these?
Since usually people use MinGW to not buy MSVC license (Community edition for example doesn't allow to be used in commercial software development if you're a contractor for enterprise), the licensing terms are important, more details can be found in this quite elaborate answer: https://opensource.stackexchange.com/a/14127.
__try statement is part of SEH, which is not fully supported for MinGW/LLVM; but those parts were re-written in aforementioned library.
There's also partial implementation of ATL in WINE (see https://github.com/wine-mirror/wine/blob/master/include/atl*.h files), but AFAIK, there's no ready-to-be-used library yet.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With