SQLite3 - Library kompilieren mit Code:Blocks (Windows)
Moin!
Ich möchte mir eine kleine Anwendung mit einer Datenbankanbindung in C schreiben.
Da ich nicht möchte, dass sich der Benutzer extra Software installieren muss um mein Programm zu benutzen, habe ich mich für SQLite entschieden.
Ich habe mir also ein SQLite Paket ausm Netz gezogen und die .h-Datei gefunden und eingebunden. Zum Kompilieren fehlt mir aber noch die Library, die ich aber in keinem Paket auf der offizielen Seite gefunden habe
. Dann habe ich mir den Sourcecode (sqlite-amalgamation-3_6_4) gezogen und versucht den zu kompilieren, was in einem Meer von Warnungen geendet hat.
Zum Beispiel:
Kennt jemand ein funktionierendes Tutorial für Code:Blocks oder allgemein Windows oder kann mir eine kompilierte Library geben?
Gruß
Bart S.
Ich möchte mir eine kleine Anwendung mit einer Datenbankanbindung in C schreiben.
Da ich nicht möchte, dass sich der Benutzer extra Software installieren muss um mein Programm zu benutzen, habe ich mich für SQLite entschieden.
Ich habe mir also ein SQLite Paket ausm Netz gezogen und die .h-Datei gefunden und eingebunden. Zum Kompilieren fehlt mir aber noch die Library, die ich aber in keinem Paket auf der offizielen Seite gefunden habe
. Dann habe ich mir den Sourcecode (sqlite-amalgamation-3_6_4) gezogen und versucht den zu kompilieren, was in einem Meer von Warnungen geendet hat.Zum Beispiel:
Zitat
[...]\sqlite-amalgamation-3_6_4\sqlite3.c|10356|warning: 'sqlite3MemGetMemsys6' declared `static' but never defined
Kennt jemand ein funktionierendes Tutorial für Code:Blocks oder allgemein Windows oder kann mir eine kompilierte Library geben?
Gruß
Bart S.
Hallo,
nein Fehler meldet er nicht (Build finished: 0 errors, 31 warnings)
Wenn ich ein neues Project als Console application erstelle, dann bekomme ich nur eine Datei sqlite3.o. Wenn ich ein Projekt als Static library erstelle, dann bekomme ich eine sqlite3.a. Diese kann ich dann zwar unter Settings -> Compiler and debugger... -> Linker settings -> Link libraries hinzufügen, aber ich kann mein Programm dann trotzdem nicht kompilieren. Ist mein erster Versuch ne library zu kompilieren, also liegt der Fehler sicherlich bei mir
.
nein Fehler meldet er nicht (Build finished: 0 errors, 31 warnings)
Wenn ich ein neues Project als Console application erstelle, dann bekomme ich nur eine Datei sqlite3.o. Wenn ich ein Projekt als Static library erstelle, dann bekomme ich eine sqlite3.a. Diese kann ich dann zwar unter Settings -> Compiler and debugger... -> Linker settings -> Link libraries hinzufügen, aber ich kann mein Programm dann trotzdem nicht kompilieren. Ist mein erster Versuch ne library zu kompilieren, also liegt der Fehler sicherlich bei mir
.
Hier der Buildlog meines Programms:
wenn ich "#include <sqlite3.h>" noch zusätzlich in die function.h einfüge kommt:
und der Quelltext der Datei:
Den Quellcode für die Datenbank habe ich im Internet gefunden und nur die Callback-Funktion zum testen entfernt.
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 |
||=== test, Debug ===| obj\Debug\main.o||In function `list':| [...]functions.h|39|undefined reference to `_sqlite_open'| [...]functions.h|43|undefined reference to `_sqlite_exec'| [...]functions.h|44|undefined reference to `_sqlite_exec'| [...]functions.h|45|undefined reference to `_sqlite_exec'| [...]functions.h|46|undefined reference to `_sqlite_exec'| [...]functions.h|49|undefined reference to `_sqlite_exec'| [...]functions.h|52|undefined reference to `_sqlite_close'| ||=== Build finished: 7 errors, 0 warnings ===| |
wenn ich "#include <sqlite3.h>" noch zusätzlich in die function.h einfüge kommt:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
||=== test, Debug ===| [...]\functions.h||In function `list':| [...]\functions.h|40|warning: implicit declaration of function `sqlite_open'| [...]\functions.h|40|warning: initialization makes pointer from integer without a cast| [...]\functions.h|44|warning: implicit declaration of function `sqlite_exec'| [...]\functions.h|53|warning: implicit declaration of function `sqlite_close'| [...]\functions.h|55|warning: control reaches end of non-void function| [...]\main.c||In function `main':| [...]\main.c|22|warning: passing arg 1 of `help' from incompatible pointer type| obj\Debug\main.o||In function `list':| [...]\functions.h|40|undefined reference to `_sqlite_open'| [...]\functions.h|44|undefined reference to `_sqlite_exec'| [...]\functions.h|45|undefined reference to `_sqlite_exec'| [...]\functions.h|46|undefined reference to `_sqlite_exec'| [...]\functions.h|47|undefined reference to `_sqlite_exec'| [...]\functions.h|50|undefined reference to `_sqlite_exec'| [...]\functions.h|53|undefined reference to `_sqlite_close'| ||=== Build finished: 7 errors, 6 warnings ===| |
und der Quelltext der Datei:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#ifndef FUNCTIONS_H_INCLUDED
#define FUNCTIONS_H_INCLUDED
//#include <sqlite3.h>
// -h
[...]
// - l
int list() {
char *datenbank = sqlite_open( "MeineDatenbank" , 0 , NULL);
// Tabelle anlegen und füllen:
sqlite_exec( datenbank , "create table test(number integer , eintrag varchar(50) , primary key(number));" , NULL , NULL , NULL);
sqlite_exec( datenbank , "insert into test (number , eintrag) values (1 , 'Testeintrag');" , NULL , NULL , NULL);
sqlite_exec( datenbank , "insert into test (number , eintrag) values (2 , 'Testeintrag 2');" , NULL , NULL , NULL);
sqlite_exec( datenbank , "insert into test (number , eintrag) values (3 , 'Testeintrag 3');" , NULL , NULL , NULL);
// Anfrage an Datenbank: Wir wollen alle Felder aus der Spalte "eintrag":
sqlite_exec( datenbank , "select eintrag from test;" , NULL , NULL , NULL);
// Das war`s, wir schließen die Datenbank:
sqlite_close(datenbank);
}
#endif // FUNCTIONS_H_INCLUDED
|
Den Quellcode für die Datenbank habe ich im Internet gefunden und nur die Callback-Funktion zum testen entfernt.
Ähnliche Themen
-
PHP »-
Wochentagsausgabe auf englisch
(14. September 2006, 09:05)
-
Sonstige Programmiersprachen »-
PC in Standby Modus versetzen
(3. Januar 2006, 22:14)
-
(X)HTML & CSS & DHTML & Javascript »-
CSS- Hintergrundbild in Tabelle einfügen
(26. Oktober 2003, 13:59)
-
Provider & Webspace »-
GD-Library standard auf servern?
(11. Februar 2003, 15:39)



), treten irgendwelche Fehler auf?