Ich weiß, es gab Fragen, die zuvor zu diesem Problem gestellt wurden, aber keine scheint ein Licht auf mein Problem zu werfen, das ist, ich versuche, eine C - Anwendung zu kompilieren und auf SQLite aus dem Code (wie zugreifen) pro Test-App) mit Eclips als Kompilier- und Debug-Umgebung.undefined Verweis auf sqlite_open
Ich weiß, dass auf die .h-Dateien zugegriffen wird. Der Code hat so viele Zeilen mit Iostream auskommentiert, wie ich versucht habe, dies auch als C++ App zu kompilieren.
Ich bekomme einen Fehler für jede von 2 der SQL-API.
Die eigentliche Frage ist, muss ich festlegen und wie setze ich eine Abhängigkeit in Eclipse, damit die API zu lösen. Dank
der Code
#include <sqlite3.h>
int main()
{
int RetVal;
RetVal = OpenDB();
return RetVal;
}
int OpenDB()
{
sqlite3 *db; // database connection
int rc; // return code
char *errmsg; // pointer to an error string
/*
* open SQLite database file test.db
* use ":memory:" to use an in-memory database
*/
rc = sqlite3_open(":memory:", &db); //fails on this line
if (rc != SQLITE_OK)
{
goto out;
}
/* use the database... */
out:
/*
* close SQLite database
*/
sqlite3_close(db); //fails on this line
return 0;
}
Mögliche Duplikat [Was Fehler ein nicht definierter Referenz/nicht aufgelöstes externes Symbol ist und wie ich tun repariere es?] (http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i-fix) –
Sag Eclipse zu erzählen der Compiler, um dem Linker mitzuteilen, dass er die entsprechende Bibliothek verknüpfen soll. – alk
Angenommen CDT, für das (etwas veraltete) Juno-Release ist es unter "Projekt-> Eigenschaften-> C/C++ Build-> Einstellungen-> GCC Linker-> Bibliotheken" – alk