| Summary: | SDL2 2.0.5 linking dynamically against LIBGCC_S_DW2-1.DLL or MSVCRT.DLL(which might not be part of the OS, thus being a external dependancy) | ||
|---|---|---|---|
| Product: | SDL | Reporter: | superfury |
| Component: | loadso | Assignee: | Sam Lantinga <slouken> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | major | ||
| Priority: | P2 | ||
| Version: | 2.0.5 | ||
| Hardware: | x86 | ||
| OS: | Windows 10 | ||
|
Description
superfury
2016-11-29 13:45:58 UTC
When I build, I use -static-libgcc to avoid this. Well, the odd thing is that --static-libgcc --static-libstdc++ doesn't have any effect on that library on mingw 32-bit. We've seen a bunch of other issues with mingw32. Does it work with mingw-w64 (which also supports 32-bit compiling?) http://mingw-w64.org/doku.php Just tried to compile using MinGW-w64's 32-bit toolchain and manually adding the --static-libgcc --static-libstdc++ to the SDL2.0.5's EXTRA_LDFLAGS line. The LIBGCC_S_DW2-1.DLL isn't there anymore, according to Depends, but it's now still dependant on the Visual C++ runtime(MSVCRT.DLL). One of the reasons I compiled, until this problem occurred, SDL2 was to prevent users using my app to actually need to install the Visual C++ runtime to even use it(64-bit doesn't suffer from that problem). As far as I know MSVCRT.DLL is installed on every version of Windows. I've never seen a problem with having this as a dependency. I'm glad those flags removed the dependency on LIBGCC_S_DW2-1.DLL for you! MSVCRT.DLL isn't installed in plain Windows 95 afaik? I remember testing my SDL2-based emulator on Windows 95 once, but failed to run within Windows 95(b it as as far as I remember) because the MSVCRT.DLL wasn't found. Needed to scout the internet to get it together with a bunch of other dlls to even get the app running(all because of that MSVCRT.DLL requirement). About the library itself: https://stackoverflow.com/questions/1073509/should-i-redistribute-msvcrt-dll-with-my-application Quotes from the page, according to Chris Becke: msvcrt.dll has become a defacto part of the OS distribution. On windows 98 and 95 and possibly NT4 it was possible to get OS installs without it if one went to care to strip apps like WordPad out of the installation. Given its ubiquty however, and the fact that since those OSs very few app developers have bothered to ship it, at least since windows 2000 its been an official part of the OS. Also, from the page(reply to the above quote, by kolen): First retail version of Windows 95 (4.00.950 without 'a', 'B' or 'C') doesn't have this file About the library itself: https://stackoverflow.com/questions/1073509/should-i-redistribute-msvcrt-dll-with-my-application Quotes from the page, according to Chris Becke: msvcrt.dll has become a defacto part of the OS distribution. On windows 98 and 95 and possibly NT4 it was possible to get OS installs without it if one went to care to strip apps like WordPad out of the installation. Given its ubiquty however, and the fact that since those OSs very few app developers have bothered to ship it, at least since windows 2000 its been an official part of the OS. Also, from the page(reply to the above quote, by kolen): First retail version of Windows 95 (4.00.950 without 'a', 'B' or 'C') doesn't have this file SDL 2.0 doesn't support Windows 95. It supports Windows XP SP3 and newer. |