Fehler beim verwenden der SQLite-wrapper FMDatabase
Ich habe Probleme, wenn ich versuche, mit FMDatabase.
Ich habe diese Dateien:
FMDatabaseQueue
FMDatabaseAdditions
FMDatabase
FMResultSet
FMDatabasePool
..und ich habe auch Hinzugefügt die libsqlite3.dylib Bibliothek und importierten FMDatabase.h, sobald ich aber die Auskommentierung dieser Zeile:
FMDatabase *db = [FMDatabase databaseWithPath:@"/tmp/tmp.db"];
..Ich bekomme diese Fehlermeldung:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_FMDatabase", referenced from:
objc-class-ref in DBWrapper.o
ld: symbol(s) not found for architecture i386
Ich habe auch versucht, die änderung der Einstellungen, wie Ziel der Bereitstellung zwischen 4.0 - 5.0 und erstellen einen neuen, leeren Projekt, etc.
Ich bin mit Xcode Version 4.3 (4E109).
Was mache ich falsch? 🙂
//Stefan
- Haben Sie Hinzugefügt .h und .m-Dateien zu Ihrem Projekt?
- Ja, ich habe alle Dateien aus dem src ausgenommen fmdb.m.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist ein linker-Fehler—was bedeutet, dass alles, was Sie gefüttert, der compiler war in Ordnung, aber sobald es die Zeit kam-Paket alle kompilierten Objekt-code zusammen in eine ausführbare Datei er nicht finden konnte, die Implementierung für eine Klasse, auf die verwiesen wurde, in den code.
Ziehen .m-Dateien in der Projekt-Liste "Quelle" in Xcode automatisch fügen Sie Sie der "build-phase", aber wenn du das getan hast und du bist immer diese Fehlermeldung, überprüfen Sie, dass Sie in da: Klicken Sie auf die top-level-Element in der linken Liste "Quelle", um die Projekt-Einstellungen, klicken Sie auf das Ziel in den nächsten Bereich, klicken Sie auf die "Build-Phasen" Spaltenüberschrift in der nächsten Bereich, erweitern Sie dann den "Compile sources" - Reihe. Wenn die FM Dateien sind nicht vorhanden, klicken Sie auf die + Schaltfläche am unteren Rand der Liste und wählen Sie Sie aus.
Erweiterung auf davehayden Antwort...
Wenn Sie einen Ordner hinzufügen von header und source-Dateien in Xcode, die .m-Dateien werden nicht Hinzugefügt, um das Kompilieren der Quellen-Liste. Ich bekomme in der Regel ertappt, da ich hier festhalten wollen, eine vernünftige Ordner-Struktur in meinem Projekt Ordner. Um dies zu umgehen, habe ich manuell kopieren Sie die Dateien in mein Projekt-Ordner, wo ich Sie haben will. Dann in Xcode hinzufügen jedes einzelnen header-und source-Datei in mein Projekt, ohne Sie zu kopieren (mit Datei - > Dateien Hinzufügen,...). Wählen Sie alle losen Dateien im Projekt-Navigator mit der rechten Maustaste, und stellen Sie einen Ordner aus der Auswahl.
Ein bisschen spät, aber ich hoffe, das hilft jemand anderes.
Haben Sie importiert die FMDB-Header in den Ort, Sie sind mit Ihnen?