我正在 VisualStudio 2005 中构建 Qt 4.8.1,但遇到了编译器找不到的问题_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_
?
谢谢。