尝试构建时出现奇怪的错误

Weird error when trying to build

我在 class 中有此代码,名为 ctime:

#include <__config>
#include <time.h>

#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#pragma GCC system_header
#endif

_LIBCPP_BEGIN_NAMEPSACE_STD

using ::clock_t;
using ::size_t;
using ::time_t;
using ::tm;
using ::clock;
using ::difftime;
using ::mktime;
using ::time;
using ::asctime;
using ::ctime;
using ::gmtime;
using ::localtime;
using ::strftime;

_LIBCPP_END_NAMESPACE_STD

但我不断收到这些错误:

有人知道问题出在哪里吗?

问题可能与编译时未找到 C++ 标准库有关

您可以尝试以下方法:

  • 向您的项目添加一个空的 .mm 文件! 确保在构建设置中将 C++ 标准库设置为 libstdc++(GNU c++ 标准库)
    参考:
    其他
  • 将 -lstdc++ 添加到其他 Linker 标志!在构建设置中
    else
  • 在构建阶段添加 libstdc++.dylib/tbd 和 libstdc++.6.dylib/tbd -> Link Binary with Library

所以我找到了答案,这可能是因为我有一个框架,里面有一个名为 time.h 的 header,这是保存的名称。我将文件更改为 mytime.h 并完美编译。