Xcode 9 beta 6 错误“对‘sqlite3_value’的引用不明确”
Posted
技术标签:
【中文标题】Xcode 9 beta 6 错误“对‘sqlite3_value’的引用不明确”【英文标题】:Xcode 9 beta 6 error "Reference to 'sqlite3_value' is ambiguous" 【发布时间】:2017-09-07 14:32:35 【问题描述】:我在 FMDB/FMDatabase.m:1404:74 中遇到以下编译错误:
对“sqlite3_value”的引用不明确
当我使用 xCode 9 beta 6 测试我的 ios 项目时。 它在 xCode 8.3.2 中运行良好。
我的 FMDB 库版本是 2.4。
我已将字体标记为粗体,但在以下几行中出现编译错误:
void FMDBBlockSQLiteCallBackFunction(sqlite3_context *context, int argc, sqlite3_value **argv); // -Wmissing-prototypes
void FMDBBlockSQLiteCallBackFunction(sqlite3_context *context, int argc, sqlite3_value **argv)
请找到以下完整的函数代码 sn-p,其中我遇到了错误,并且我还附上了相同 的屏幕截图。
#pragma mark Callback function
void FMDBBlockSQLiteCallBackFunction(sqlite3_context *context, int argc, sqlite3_value **argv); // -Wmissing-prototypes
void FMDBBlockSQLiteCallBackFunction(sqlite3_context *context, int argc, sqlite3_value **argv)
#if ! __has_feature(objc_arc)
void (^block)(sqlite3_context *context, int argc, sqlite3_value **argv) = (id)sqlite3_user_data(context);
#else
void (^block)(sqlite3_context *context, int argc, sqlite3_value **argv) = (__bridge id)sqlite3_user_data(context);
#endif
if (block)
block(context, argc, argv);
我已尝试解决它,但找不到解决方案。 如果我能得到任何帮助,将不胜感激。
谢谢
更新:在 Xcode 9(最终版本)中,它工作正常。
【问题讨论】:
为什么不更新到 FMDB 2.7? 我尝试过使用 FMDB 2.7,但无法使用它。由于它是我旧项目迁移的一部分,因此在代码迁移完成后会更新。 【参考方案1】:怎么样 1.清理项目 2. 删除 '~/Library/Developer/Xcode/DerivedData/ModuleCache/' 中的所有内容(管理器窗口内的按钮对我不起作用) 3.再次清洁 4. 构建项目
【讨论】:
我已经更新了我的问题,因为它在 Xcode 9 公开版本中运行良好。以上是关于Xcode 9 beta 6 错误“对‘sqlite3_value’的引用不明确”的主要内容,如果未能解决你的问题,请参考以下文章
将 Xcode 6 beta 6 更新到 beta 7 后出现“可选错误”
Xcode 9 Beta 5 中的“ARConfiguration() – init() 不可用”错误
XCode 6 Beta 6 Beta 7 中的错误 - 可选类型的值未解包
Xcode 9 Beta Build System失败,没有错误