【问题标题】:CLS_LOG macro does not work in one classCLS_LOG 宏在一类中不起作用
【发布时间】:2015-02-23 12:12:48
【问题描述】:

我在整个项目中使用 Crashlytics CLS_LOG 宏。它在任何地方都可以使用,除了一个班级,我得到Implicit declaration of function 'CLS_LOG' is invalid in C99。如果我注释掉那个类中的调用,那么整个项目编译得很好。

我在我的 prefix.pch 中包含 Crashlytics,如下所示:

#ifdef __OBJC__
    // Other imports
    #import "Crashlytics/Crashlytics.h"
    // Other imports
#endif

我正在尝试清除预编译的标头、重新安装 Crashlytics 框架等等 - 没有任何帮助。

知道什么会破坏单个类中的宏吗?

【问题讨论】:

  • 你尝试过在课堂上直接#import "Crashlytics/Crashlytics.h"吗?
  • @MaksimPavlov 谢谢,我做到了。如果我这样做#import "Crashlytics/Crashlytics.h",我会得到 'Crashlytics/Crashlytics.h' 文件未找到。如果我这样做 #import "Crashlytics.h" 我会得到 Undefined symbols for architecture x86_64: "_CLSNSLog", referenced from: ... not found for architecture x86_64

标签: objective-c crashlytics


【解决方案1】:

我想通了。

问题是我已将此类添加到新目标(小部件)的编译源中,但我没有将 Crashlytics 框架添加到该目标。

我还按照说明 from this answer 为小部件目标创建了一个 prefix.pch,向其中添加了 Crashlytics,现在一切都按预期编译了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    相关资源
    最近更新 更多