В приложении с плагинами ядро / исполняемый файл имеет несколько чистых виртуальных интерфейсов, которые должны реализовывать плагины (dll/so). Кроме того, существуют стандартные реализации этих интерфейсов, которые должны быть доступны плагинами.Как экспортировать классы из основного приложения в библиотеки/плагины?
Нужно ли вообще экспортировать чистые виртуальные интерфейсы? Я имею в виду, что они состоят только из файлов заголовков, которые библиотеки в любом случае используют во время компиляции. Значит, мне не нужен символ во время выполнения, не так ли?
Как экспортировать классы из основного приложения в плагины? Это имеет смысл вообще? Какова наилучшая практика для этого случая?
Это означает, что эти символы должны быть не определены в библиотеках. Как мне это достичь?
Действительно, мне нужен RTTI. Означает ли это, что я должен экспортировать интерфейсы? Тем не менее я не знаю, как экспортировать их из основного приложения. – ManuelSchneid3r
Если вы сделаете это так, вы поместите интерфейсы в библиотеку где-нибудь и получите как ваше приложение, так и плагины, чтобы включить их и связать с ними. У меня сильно искушение указать вам https://github.com/dotfield/ioc – CashCow