Ответ AProgrammer (или просто экспорт глобальной переменной с номером версии) будет работать, но имейте в виду, что ни одно решение не является надежным или безопасным от вредоносных файлов плагинов.Загруженные модули работают в том же пространстве памяти, что и ваша программа, с теми же привилегиями, и, к сожалению, динамический загрузчик с удовольствием запустит глобальные конструкторы в плагине, прежде чем вы сможете запросить версию или выполнить какую-либо проверку самостоятельно.( Grumble Кто-нибудь имеет ссылку на глобальные конструкторы, считающиеся вредными?)
В любом случае, если архитектура плагина - это ваш дизайн, я настоятельно рекомендую вам запретить любое использование глобальных конструкторов в спецификациидля плагинов.Конечно, вы не можете применить это во время выполнения, но, по крайней мере, тогда вы можете обвинить любого автора плагина, который ломает вещи за нарушение контракта.