Icy G.
naughty by nature
Hy,
also ich habe eine SQLite3 Anwendung geschrieben/schreibe sie gerade und bin auf das folgende Problem gestoßen:
Wieso ist bei ldconfig -lsqlite3.8 vermerkt, kann man aber beim Compilieren nciht nutzen???
Und wie kriegt mans hin, dass man die sqlite Library gelinkt kriegt?
EDIT: Problem hat sich von Geisterhand gelöst ;-)
EDIT2:
Auf Wunsch von Paefchen hier nochmal die Lösung des Problems:
Also erstmal sagt euch ldconfig nur was über dynamische Librarys, wie ich das verstanden habe...
Wir wollen aber die statische Bibliothek...
Also:
mussen wir mit dem -L argument noch den Pfad der Library angeben und mit -l den namen der statischen Library...
hier wie der richtige Code in meinem Beipspiel is:
Und nie das "-pedantic -Wall -Wextra -Werror" vergessen ;-)
also ich habe eine SQLite3 Anwendung geschrieben/schreibe sie gerade und bin auf das folgende Problem gestoßen:
Code:
> gcc main.c idb.c -I/usr/local/include -std=c99 -lsqlite3
/usr/bin/ld: cannot find -lsqlite3
> ldconfig -r | grep sqlite
425:-lsqlite3.8 => /usr/local/lib/libsqlite3.so.8
> gcc main.c idb.c -I/usr/local/include -std=c99 -lsqlite3.8
/usr/bin/ld: cannot find -lsqlite3.8
Wieso ist bei ldconfig -lsqlite3.8 vermerkt, kann man aber beim Compilieren nciht nutzen???
Und wie kriegt mans hin, dass man die sqlite Library gelinkt kriegt?
EDIT: Problem hat sich von Geisterhand gelöst ;-)
EDIT2:
Auf Wunsch von Paefchen hier nochmal die Lösung des Problems:
Also erstmal sagt euch ldconfig nur was über dynamische Librarys, wie ich das verstanden habe...
Wir wollen aber die statische Bibliothek...
Also:
mussen wir mit dem -L argument noch den Pfad der Library angeben und mit -l den namen der statischen Library...
hier wie der richtige Code in meinem Beipspiel is:
Code:
gcc main.c idb.c -I/usr/local/include -L/usr/local/lib -std=c99 -lsqlite3
Zuletzt bearbeitet: