Я работаю над сборкой Qt 4.8.1 в VisualStudio 2005, и у меня возникла проблема, которую не смог найти компилятор _fileno
.
После некоторых исследований я обнаружил, что в stdio.h он имеет
#ifdef _POSIX_
_CRTIMP __checkReturn int __cdecl fileno(__in FILE * _File);
#else
_CRTIMP __checkReturn int __cdecl _fileno(__in FILE * _File);
#endif
Затем я просмотрел код qt и обнаружил, что оба файла qfsfilengine_win.cpp и qfilesystemengine_win.cpp имеют
#define _POSIX_
Мне кажется, что это было бы ошибкой, и если я уберу эти строки, то, похоже, будет успешно построен.
Кто-нибудь знает, почему эти файлы будут определять _POSIX_
?
Спасибо.