В Gentoo мы поддерживаем слотирование... Это означает, что у нас могут быть разные версии пакета, живущие вместе в одной системе.
Это возможно, потому что наш менеджер пакетов (portage )создает символические ссылки с общим именем из пакета и разными именами для версий.
Например, если у вас есть Python 2 и 3... есть только одна символическая ссылка с именем python
, которая указывает на конкретную версию (2 или 3 ), и у вас есть скрипт, который обрабатывает, какой из версии указывает символическая ссылка.
Я полагаю, вы могли бы сделать то же самое с заголовками, создав opencv.h
и иметь два разных файла заголовков... Затем вы могли бы связать оригинал с одним из ваших файлов.h.
Вы можете попробовать gentoo, если не хотите делать это самостоятельно и создать ту же логику, что и у нас.
Существует довольно подробная статья о реализации уровня журнала: