成功解决Typedef redefinition with different types (‘uint8_t‘ (aka ‘unsigned char‘) vs ‘enum clockid_t‘)

一、错误信息
[…]/SandboxProject_62RC3/ios/Pods/Headers/Private/whr-hoye/hoye/portability/Time.h:51:17: Typedef redefinition with different types (‘uint8_t’ (aka ‘unsigned char’) vs ‘enum clockid_t’)

[...]/SandboxProject_62RC3/ios/Pods/Headers/Private/whr-hoye/hoye/portability/Time.h:51:17: Typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t')

二、背景信息

当更新了xcode以后,运行ios项目出现此错误。

三、处理办法:

我将__IPHONE_10_0改为__IPHONE_12_0(因为我现在指定的目标iOS版本是11),如果你的目标是macOS,可以将MAC_OS_X_VERSION_10_12改为MAC_OS_X_VERSION_10_15。

如下图所示,可以直接复制然后替换。

// OSX is a pain. The XCode 8 SDK always declares clock_gettime
// even if the target OS version doesn't support it, so you get
// an error at runtime because it can't resolve the symbol. We
// solve that by pretending we have it here in the header and
// then enable our implementation on the source side so that
// gets linked in instead.
#if __MACH__ &&                                                \
    (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12 || \
     __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0)

#ifdef FOLLY_HAVE_CLOCK_GETTIME
#undef FOLLY_HAVE_CLOCK_GETTIME
#endif

#define FOLLY_HAVE_CLOCK_GETTIME 1
#define FOLLY_FORCE_CLOCK_GETTIME_DEFINITION 1

#endif

猜你喜欢

转载自blog.csdn.net/m0_48915964/article/details/130012224