1

我在 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(最终版本)中,它工作正常。

4

1 回答 1

0

怎么样 1. 清理项目 2. 删除 '~/Library/Developer/Xcode/DerivedData/ModuleCache/' 中的所有内容(管理器窗口内的按钮对我不起作用) 3. 再次清理 4. 构建项目

于 2017-09-22T02:13:29.810 回答