1

这让我发疯,我已经在这个问题上停留了几个小时。我在项目的几个文件中使用 time.h,当我尝试使用函数 time() 时,每个文件都会出现错误“时间未在范围内声明”。奇怪的是 time_t 被定义了,我没有得到任何错误。我想也许它以某种方式引入了 C++ 版本,所以尝试使用命名空间 std:: 但这也不起作用。struct tm 和 localtime 也没有在范围内声明。顺便说一句,所有代码在其他系统上都可以正常编译。

我在这里发疯了,我怎样才能弄清楚文件正在使用什么头文件,定义了什么或发生了什么?我不知道如何继续,请帮助!

我在 Xcode 3.2.5 中使用 GCC 4.2 和 10.6 SDK

如果您想在这里查看代码,尽管它没有用,但我认为它必须是编译器/包含文件问题。

            time_t long_time;
            time(&long_time);
            tm* st = localtime(&long_time);
            sprintf(temp, "%02d:%02d:%02d %02d.%02d.%04d  ",
                    st->tm_hour, st->tm_min, st->tm_sec, st->tm_mon+1, st->tm_mday, st->tm_year+1900);
4

1 回答 1

0

发现了问题。我正在使用 enet,它有一个名为 time.h 的头文件,因为 xcode 在子目录下找不到 enet 文件我将它包含在我的用户头文件搜索路径中,显然编译器首先查看用户路径并拉入 enet time.h 而不是系统一

于 2013-04-08T17:44:07.880 回答