我在 FMDB/FMDatabase.m:1404:74 中得到以下编译错误:
对“sqlite3_value”的引用不明确
当我使用 xCode 9 beta 6 测试我的 iOS 项目时。它在 xCode 8.3.2 中运行良好。
我的 FMDB 库版本是 2.4。
我用粗体标记了字体,在以下几行中出现编译错误:
无效 FMDBBlockSQLiteCallBackFunction(sqlite3_context *context, int argc, sqlite3_value **argv); // -Wmissing-prototypes
无效 FMDBBlockSQLiteCallBackFunction(sqlite3_context *context, int argc, sqlite3_value **argv) {
请找到以下完整的功能代码片段,其中我遇到了错误,并且我还附上了相同的屏幕截图。
#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(最终版本)中,它工作正常。