..., продолжение до это .
Из ответов, которые мне дали на мой ссылочный вопрос, я узнал, что:
- разные компиляторы используют разные декорации имен, что делает невозможным использование динамической библиотеки C ++, созданной с помощью компилятора A, в проекте, построенном с помощью компилятора B,
- библиотека может быть построена как статическая, сохраняя меня, включая n заголовочных и исходных файлов в проекте или экспорт символов. (Это все равно не сохранит перестройку библиотеки для использования с другим компилятором.)
При более внимательном рассмотрении SDL в свете сказанного я понял, что его связывание имеет два уровня: в моем проекте SDL я статически связываюсь с libSDL.a, который, в свою очередь, будет связывать динамически против SDL.dll, тем самым устраняя необходимость в разных версиях DLL для разных компиляторов.
Вопрос в том, действительно ли это так и является жизнеспособным решением проблемы, или я что-то упустил (и что)?