Another possibility that can cause the 0xC000007B error is a bitness mismatch between a DLL and any dependent DLLs. For example, if GarbleLib.dll depends on GarbleLib2.dll then both must be 64-bit DLLs. If the loader finds a 32-bit version of GarbleLib2.dll when attempting to start the .exe file then 0xC000007B will result.
You can also use dumpbin to identify the dependent libraries for a DLL by running
dumpbin /dependents your.dll
When you examine the output you should only be concerned with verifying the bitness of non-system DLLs that are identified as dependencies. For example, you needn't be concerned with items like kernel32.dll, user32.dll, ucrtbase.dll and api set items.
I still think you should open your problematic solver.exe as a file in Visual Studio to examine its resources. The following images show how the resources for icons used for an .exe would be displayed and how that display relates back to the sources used to create the executable
Finally, the .rsrc section relates to how resources are stored in PE format binary (i.e., an exe or dll) and the .msvcjmc section is related to the use of the "Just My Code" option for a debug build.