Matthew Stanley
08fa3765ba
Static-link MinGW Release for a self-contained exe ( fixes #1 )
...
A default MinGW build dynamically imports three non-system DLLs
(SDL2.dll, libgcc_s_seh-1.dll, libstdc++-6.dll) that get bundled
side-by-side. On a user machine with a mismatched-architecture copy
of one of those earlier on the DLL search path, Windows loads the
wrong one and the process dies at launch with 0xc000007b
(STATUS_INVALID_IMAGE_FORMAT) before any of our code runs.
Add PSX_STATIC_RUNTIME (default ON for MinGW Release/MinSizeRel):
link -static -static-libgcc -static-libstdc++ and pull SDL2 from the
pkg-config --static line (libSDL2.a + its Windows system-lib chain)
instead of the import lib. The resulting exe imports only Windows
system DLLs, so it runs from any folder and 0xc000007b from a
mismatched runtime DLL becomes structurally impossible.
package_release.ps1 no longer bundles the runtime DLLs and instead
asserts self-containment via objdump (fails the build if any
non-system import remains).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 23:58:13 -07:00
..
2026-05-29 21:14:30 -07:00
2026-04-14 08:49:45 -07:00
2026-05-07 17:57:34 -07:00
2026-05-03 16:43:07 -07:00
2026-05-05 21:06:44 -07:00
2026-05-05 21:06:44 -07:00
2026-05-05 21:06:44 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-03 16:43:07 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-03 16:43:07 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-04-11 21:26:04 -07:00
2026-05-07 17:57:34 -07:00
2026-05-05 21:06:44 -07:00
2026-05-05 21:06:44 -07:00
2026-05-05 21:06:44 -07:00
2026-05-05 21:06:44 -07:00
2026-05-05 21:06:44 -07:00
2026-05-05 21:06:44 -07:00
2026-05-07 17:57:34 -07:00
2026-05-05 21:06:44 -07:00
2026-05-07 17:57:34 -07:00
2026-04-11 21:26:04 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-05 21:06:44 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-04-11 21:26:04 -07:00
2026-04-11 21:26:04 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-07 17:57:34 -07:00
2026-05-05 22:13:06 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-29 21:14:30 -07:00
2026-05-03 16:43:07 -07:00
2026-05-07 17:57:34 -07:00
2026-05-09 19:09:48 -07:00
2026-05-10 15:45:57 -07:00
2026-05-03 16:43:07 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-17 11:29:26 -07:00
2026-05-07 17:57:34 -07:00
2026-05-03 16:43:07 -07:00
2026-05-07 17:57:34 -07:00
2026-05-09 19:09:48 -07:00
2026-05-09 19:09:48 -07:00
2026-05-09 19:09:48 -07:00
2026-05-07 17:57:34 -07:00
2026-05-10 15:45:57 -07:00
2026-05-11 12:34:49 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-07 17:57:34 -07:00
2026-05-05 22:13:06 -07:00
2026-05-07 17:57:34 -07:00
2026-05-03 16:43:07 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-28 21:29:19 -07:00
2026-05-03 16:43:07 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-05-29 21:14:30 -07:00
2026-05-03 16:43:07 -07:00
2026-05-29 21:14:30 -07:00
2026-05-29 21:14:30 -07:00
2026-04-25 00:15:01 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-04-26 00:36:15 -07:00
2026-04-30 14:26:19 -07:00
2026-04-28 21:29:19 -07:00
2026-04-14 02:03:14 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-04-30 14:26:19 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-04-30 14:26:19 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-05-13 01:31:27 -07:00
2026-05-13 01:31:27 -07:00
2026-05-29 23:42:16 -07:00
2026-04-29 14:46:26 -07:00
2026-05-03 16:43:07 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-04-21 14:23:09 -07:00
2026-04-21 14:23:09 -07:00
2026-04-28 21:29:19 -07:00
2026-04-24 00:29:06 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-29 14:46:26 -07:00
2026-04-24 00:29:06 -07:00
2026-04-24 00:29:06 -07:00
2026-04-24 00:29:06 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-05-03 16:43:07 -07:00
2026-04-28 21:29:19 -07:00
2026-04-26 00:36:15 -07:00
2026-04-24 00:29:06 -07:00
2026-05-30 12:33:45 -07:00
2026-05-03 16:43:07 -07:00
2026-04-26 00:36:15 -07:00
2026-05-30 00:02:33 -07:00
2026-05-03 16:43:07 -07:00
2026-04-28 21:29:19 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-23 17:50:47 -07:00
2026-04-28 21:29:19 -07:00
2026-04-24 00:29:06 -07:00
2026-04-28 21:29:19 -07:00
2026-04-24 00:29:06 -07:00
2026-05-03 16:43:07 -07:00
2026-04-28 21:29:19 -07:00
2026-04-14 01:34:27 -07:00
2026-05-29 21:14:30 -07:00
2026-04-24 00:29:06 -07:00
2026-05-29 21:14:30 -07:00
2026-04-24 00:29:06 -07:00
2026-05-13 01:31:27 -07:00
2026-05-17 21:58:55 -07:00
2026-04-28 21:29:19 -07:00
2026-05-03 16:43:07 -07:00
2026-04-30 14:26:19 -07:00
2026-04-21 14:23:09 -07:00
2026-06-03 23:58:13 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-04-29 22:20:55 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-04-13 21:19:32 -07:00
2026-04-29 22:20:55 -07:00
2026-04-29 22:20:55 -07:00
2026-04-29 22:20:55 -07:00
2026-05-29 23:29:05 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-04-28 21:29:19 -07:00
2026-04-24 00:29:06 -07:00
2026-04-21 18:13:51 -07:00
2026-05-03 16:43:07 -07:00
2026-05-03 16:43:07 -07:00
2026-04-29 14:46:26 -07:00
2026-04-28 21:29:19 -07:00
2026-04-24 00:29:06 -07:00
2026-04-29 14:46:26 -07:00
2026-04-13 21:19:32 -07:00
2026-04-13 21:19:32 -07:00
2026-05-29 21:14:30 -07:00
2026-04-28 21:29:19 -07:00
2026-05-29 21:14:30 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-14 01:34:27 -07:00
2026-04-28 21:29:19 -07:00
2026-04-28 21:29:19 -07:00
2026-05-03 16:43:07 -07:00
2026-04-28 21:29:19 -07:00
2026-05-03 16:43:07 -07:00
2026-04-28 21:29:19 -07:00
2026-04-29 21:15:09 -07:00
2026-04-29 14:46:26 -07:00
2026-04-29 14:46:26 -07:00
2026-05-03 16:43:07 -07:00
2026-04-29 14:46:26 -07:00
2026-04-29 14:46:26 -07:00
2026-04-29 14:46:26 -07:00
2026-04-29 14:46:26 -07:00
2026-04-29 14:46:26 -07:00
2026-05-13 01:31:27 -07:00
2026-04-29 14:46:26 -07:00
2026-04-30 13:10:05 -07:00
2026-04-30 13:10:05 -07:00
2026-05-30 12:06:59 -07:00
2026-04-28 21:29:19 -07:00
2026-04-29 14:46:26 -07:00