Description:
For a long time we've been able to get away without specifying the CRT to use, allowing callers to use whatever they prefer. However, that has prevented us from using many std functions since those make calls to the CRT and unless we specifically tell the compiler otherwise, it will create an object that links to a static CRT.
We need to be able to throw exceptions in cases where we can't reasonably continue (for example, passing in a nullptr to a function that needs to do a lot of work with that pointer). The moment we add #incude <stdexcept> we end up requiring all callers to use a static CRT.
One possible option would be to make more extensive use of what we currently call ttLibRT — though perhaps renamed to ttLibMD and only use CFlags: -D_MT -D_DLL in the .srcfiles. We don't want to add DLL to the name since that implies ttLib itself is a DLL which it is not.
Note that currently libraries are not built with either -MT or -MD.
Issue Type:
Description:
For a long time we've been able to get away without specifying the CRT to use, allowing callers to use whatever they prefer. However, that has prevented us from using many std functions since those make calls to the CRT and unless we specifically tell the compiler otherwise, it will create an object that links to a static CRT.
We need to be able to throw exceptions in cases where we can't reasonably continue (for example, passing in a nullptr to a function that needs to do a lot of work with that pointer). The moment we add
#incude <stdexcept>we end up requiring all callers to use a static CRT.One possible option would be to make more extensive use of what we currently call ttLibRT — though perhaps renamed to ttLibMD and only use CFlags: -D_MT -D_DLL in the .srcfiles. We don't want to add DLL to the name since that implies ttLib itself is a DLL which it is not.
Note that currently libraries are not built with either -MT or -MD.
Issue Type: