gpt4 book ai didi

c++ - 错误 : ‘fileno’ was not declared in this scope

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:21:45 25 4
gpt4 key购买 nike

我在 Windows 8 上运行 Cygwin,试图为我想修改的游戏编译源代码。不幸的是,我在构建涉及 fileno 函数时遇到了一些错误。在谷歌搜索之后,问题似乎与 c++11 支持有关(我不太确定这意味着什么)。人们发现的大多数解决方案都涉及在编译时添加一些选项,如 -std=c++0x 或 -std=c++11,但我尝试将选项添加到 makefile 中的尝试没有成功,我不知道如果那是导致问题的原因。我将包括引发错误的代码片段和指向 makefile 的链接,因为它非常大。如果你能给我任何建议,那就太好了。

抛出错误的代码:

    time_t file_modtime(FILE *f)
{
struct stat filestat;
if (fstat(fileno(f), &filestat))
return 0;

return filestat.st_mtime;
}

Link to Makefile

它被托管在github上

编辑:在得到一些建议后,我查看了 makefile 并找到了五个使用了 -std 选项的实例,尝试使用它们并没有改变任何东西。我的 Cygwin 配置有问题吗?我安装了我正在构建的游戏的安装指南中告诉我需要的软件包。

最佳答案

将 makefile 中的 -std=c*** 更改为 -std=gnu++0x 应该可以解决您的问题。

如果您不知道 c++11 是什么,您很可能不会使用它。

此外,如果您需要 c++11 支持,您还可以执行:-std=gnu++11 而不是 -std=gnu++0x

关于c++ - 错误 : ‘fileno’ was not declared in this scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29692136/

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