Skip to content

Make binary application interface (ABI) more stable #1

@crud89

Description

@crud89

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.

Metadata

Metadata

Assignees

Labels

category: architectureIssue regarding the framework architecturepriority: mediumNormal importance, should be addressed soon

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions