Мой MinGW, похоже, автоматически не вытягивает windef.h
.Я подозреваю, что ваша программа включает в себя какой-то другой заголовок, который косвенно вытягивает его. Можете ли вы опубликовать короткую программу, которая отображает проблему?
Обратите внимание, что я вижу, вы используете, определен ли для _WINDEF_H
определить, если эти вещи уже были typedef'ed.Это может работать, когда используется MinGW, но фактический Windows SDK определяет _WINDEF_
, когда включен windef.h
- по крайней мере, одна конкретная версия.Я полагаю, что это довольно стабильно, но, безусловно, возможно, что в какой-то момент это изменилось.
Возможно, было бы лучше ввести что-то вроде макроса MAKEWORD
, чтобы определить, был ли windef.h
уже включен -MAKEWORD
задокументировано как макрос, определенный в windef.h
, поэтому он должен быть стабильным во всех версиях SDK, будь то от Microsoft или нет.