Большое спасибо Сэму и busybee, я могу подтвердить, что существует конфликт имен в winnt.h , который вводится через windows .h . Однако это typedef, использующий имя BlockSize, а не другое определение препроцессора:
typedef struct _TAPE_SET_MEDIA_PARAMETERS {
ULONG BlockSize;
} TAPE_SET_MEDIA_PARAMETERS, *PTAPE_SET_MEDIA_PARAMETERS;
Изменение #define BlockSize (1 << 12)
в BlockArray.h на новое имя, например, #define LXQT_BlockSize (1 << 12)
разрешает конфликт.