【问题标题】:Warnings with a new Xcode project using FMDB, SqliteCipher and CocoaPods使用 FMDB、SqliteCipher 和 CocoaPods 的新 Xcode 项目的警告
【发布时间】:2014-07-25 07:26:20
【问题描述】:

我已经安装了 CocoaPods.. 并按照说明加载了工作区。

我收到了这些我不明白的警告,这是一个例子:

Pods-CipherDatabaseSync-SQLCipher sqlite.c /Users/admin/Code/CipherDatabaseSync/Pods/SQLCipher/sqlite3.c:24035:13:宏“MAX”的模糊扩展

我已经环顾了几个小时,对我需要做的事情感到困惑,有人可以为我指出某个可以提供一些见解的方向吗?

谢谢。

【问题讨论】:

  • 似乎只是警告,那么构建或运行有问题吗?

标签: xcode cocoapods fmdb sqlcipher


【解决方案1】:

在 sqlite.c 文件中,看起来好像 MIN 和 MAX 试图在文件的两个不同区域中定义。第一次上线214

/* Macros for min/max. */
#ifndef MIN
#define MIN(a,b) (((a)<(b))?(a):(b))
#endif /* MIN */
#ifndef MAX
#define MAX(a,b) (((a)>(b))?(a):(b))
#endif  /* MAX */

然后第二行8519

/*
** Macros to compute minimum and maximum of two numbers.
*/
#define MIN(A,B) ((A)<(B)?(A):(B))
#define MAX(A,B) ((A)>(B)?(A):(B))

我注释掉了他们第二次定义它的位置,并且在再次清理和构建项目后所有警告都消失了。

【讨论】:

    【解决方案2】:

    从 sqlite3.c 文件中删除 MAXMIN 宏定义,因为它们已经在系统头文件中定义。

    【讨论】:

      【解决方案3】:

      问题解决方案: 打开 Xcode 项目构建设置

      “-Wno-ambiguous-macro” 添加到“Other C flags”

      【讨论】:

        猜你喜欢
        • 2020-11-13
        • 1970-01-01
        • 2012-10-23
        • 2017-10-17
        • 1970-01-01
        • 1970-01-01
        • 2013-08-03
        • 2013-06-08
        • 2018-05-29
        相关资源
        最近更新 更多