2017-09-07 3 views
1

ich die unten Kompilierungsfehler bekam in FMDB/FMDatabase.m: 1404: 74:Xcode 9 Beta 6 Fehler "Verweis auf 'sqlite3_value' ist mehrdeutig"

Verweis auf 'sqlite3_value' ist mehrdeutig

wenn ich mein iOS-Projekt mit xCode 9 Beta 6 testen. Es funktioniert gut in xCode 8.3.2.

Meine FMDB-Bibliothek Version ist 2.4.

Ich habe Schriftart fett markiert, wo ich in den folgenden Zeilen Kompilierungsfehler bekam:

Leere FMDBBlockSQLiteCallBackFunction (sqlite3_context * Kontext, int argc, sqlite3_value ** argv); // -Wmissing-Prototypen

Leere FMDBBlockSQLiteCallBackFunction (sqlite3_context * Kontext, int argc, sqlite3_value ** argv) {

Bitte geben Sie den folgenden kompletten Funktionscode-Schnipsel finden, in dem ich eine Fehlermeldung anzeigt, und ich habe auch Attache Screenshot für das gleiche here.

#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); 
    } 
} 

Ich habe versucht, es zu lösen, aber kann die Lösung dafür nicht finden. Es wäre zu schätzen, wenn irgendeine Hilfe ich bekommen werde.

Danke

UPDATE: In Xcode 9 (Final Release), es funktioniert gut.

+0

Warum nicht auf FMDB 2.7 aktualisieren? – Shebuka

+0

Ich habe mit FMDB 2.7 versucht, aber es kann nicht damit arbeiten. Da es Teil meiner alten Projektmigration ist, wird es aktualisiert, sobald die Code-Migration abgeschlossen ist. –

Antwort

0

wie etwa 1. Reinigen Sie das Projekt 2. alles löschen innen '~/Library/Developer/Xcode/DerivedData/ModuleCache /' (die Schaltfläche innerhalb des Fensters Veranstalter nicht für mich arbeiten) 3. Reinigen einmal mehr 4. Projekt erstellen

+0

Ich habe meine Frage aktualisiert, wie es in Xcode 9 public release funktioniert. –