Моя цель - обнаружить Windows 10 в моем коде, который должен работать как в кросс-платформенной, так и в разных версиях Windows (по крайней мере, 7 и выше). Windows предоставляет IsWindows10OrGreater() для решения этой проблемы, но есть и другая проблема с ней, эта функция отсутствует в предыдущих версиях Windows.
Вы найдете бесчисленные блоги и SO-вопросы, касающиеся этого, а также манифестное безумие, где такие функции, как this и getversion, и другие возвращают некоторую другую версию, а не правильную.
Например, на моей машине - метод IsWindows10OrGreater() не компилируется (я должен был установить Win10 SDK), а IsWindowsVersionOrGreater() сообщает 6 в качестве основной версии.
Итак, есть ли разумный способ с несколькими версиями, я мог бы решить эту проблему?