Skip to content
  • Rob Swindell's avatar
    Switch from static C runtime library to runtime DLL · 05c45f17
    Rob Swindell authored
    This fixes the stat() issue on Windows XP/2K3 by allowing sbbs to benefit
    from the run-time library updates that Microsoft releases periodically
    (like https://www.microsoft.com/en-us/download/details.aspx?id=53840).
    
    For more info on the stat() issue which caused all kinds of sbbs errors
    (e.g. creating directories initially, but a lot more):
    https://stackoverflow.com/questions/32452777/visual-c-2015-express-stat-not-working-on-windows-xp
    
    Since we are using cryptlib which requires the MSVC runtime DLL anyway
    (it is the default build behavior of MSVC), we weren't really gaining
    anything from statically linking the CRTL (LIBCMT.LIB). And for some reason,
    an up-to-date MSVC2019 still has (links-in) a LIBCMT.LIB file that includes
    this stat bug. All the online help resources I found just to seem to suggest
    updating the CRTL DLLs (on the target system), with no mention of any fixes
    available for the static CRTLs on the build system. But with the no gain
    from static linking anyway, I figured it was time to switch to DLL CRTLs.
    
    The debug builds are still statically linking the CRTL for no particular
    reason.
    05c45f17