gpt4 book ai didi

ios - fabs() 在模块下不起作用

转载 作者:行者123 更新时间:2023-12-01 17:41:03 25 4
gpt4 key购买 nike

我在 appStore 上有较旧的应用程序。我想为 iOS 7 更新它,所以我在 Xcode 5 下打开它,并在 Build Settings 下打开了 Objective-c 模块。没有它,编译会很慢。

但这会导致 fabs() 函数出现问题,我在 *-Prefix.pch 文件中定义的一个 makro 中使用了该函数:

#define IS_IPHONE_5 (fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON)

当我调用这个 makro 时,由于 fabs() 函数,它会导致错误:

错误:调用的对象类型“int”不是函数或函数指针
警告:函数“__tg_promote1”的隐式声明在 C99 中无效
警告:函数“__tg_fabs”的隐式声明在 C99 中无效

当我关闭模块时,一切都像以前一样正常。

有什么帮助吗?我对此感到绝望。
谢谢。

最佳答案

  • CGRect 是 { CGPoint, CGSize }。 CGSize 是 { CGFloat, CGFloat }。 CGFloat 是浮点数的 typedef,而不是 double 数。
  • fabs被声明为 extern double fabs(double) ,

  • 将#define 更改为:
    #define IS_IPHONE_5 (fabsf( [ [ UIScreen mainScreen ] bounds ].size.height - ( CGFloat )568.0 ) < FLT_EPSILON)

    关于ios - fabs() 在模块下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624111/

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