The framework dynamically links the C Runtime Library (CRT) by specifying the /MD or /MDd options. Linking a client application to another version of the CRT can cause problems when calling members that rely on STL types. The framework interface should be redesigned to not emit STL types.
More specifically, the warnings C4275 and C4251 should be treated as errors.
In order to resolve those warnings, the following three steps should be preferred in the order they are listed here:
- Remove STL types from public interfaces.
- Export common STL types like
std::string. This only works for fully specialized templates.
- Hide STL-dependant interfaces using the pImpl idom.
The framework dynamically links the C Runtime Library (CRT) by specifying the
/MDor/MDdoptions. Linking a client application to another version of the CRT can cause problems when calling members that rely on STL types. The framework interface should be redesigned to not emit STL types.More specifically, the warnings
C4275andC4251should be treated as errors.In order to resolve those warnings, the following three steps should be preferred in the order they are listed here:
std::string. This only works for fully specialized templates.