gpt4 book ai didi

c++ - Qt、Windows 和 _POSIX_

转载 作者:太空狗 更新时间:2023-10-29 23:08:20 25 4
gpt4 key购买 nike

我正在 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代码,发现qfsfileengine_win.cpp和qfilesystemengine_win.cpp都有

#define _POSIX_

在我看来这是一个错误,如果我删除这些行,它似乎可以成功构建。

有谁知道为什么这些文件会定义 _POSIX_

谢谢。

最佳答案

看来这确实是Qt的一个bug。如果您在没有预编译头文件的情况下为 Windows 构建 Qt 并且遇到了这个问题,只需删除 qfsfileengine_win.cpp 和 qfilesystemengine_win.cpp 中的 #define _POSIX_ 调用,它将成功构建。

关于c++ - Qt、Windows 和 _POSIX_,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9999386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com