URL: https://www.overclockers.at/coding-stuff/c_und_sqlite_unter_windows_165422/page_1 - zur Vollversion wechseln!
Also ich hab ein C++ Programm geschrieben das auf eine SQLite Datenbank zugreifen kann. unter linux (bei installiertem sqlite) läuft auch alles super.
nur war ich bis jetz nicht fähig das ganze unter windows zu compilieren.
Ich hab MinGW installiert
Wenn ich compilieren will kommt das....
Ich hab schon die sqlite3.h ins D:\Programme\MinGW\include kopiert...Code:H:\filmedb>g++ main.cpp -lsqlite3 D:\Programme\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lsqlite3 collect2: ld returned 1 exit status
Das ist ein Fehler beim Linken, nicht beim Compilieren. Du musst sicherstellen, dass die sqlite-Library (wahrscheinlich sqlite.o oder .a) im lib-Verzeichnis liegt, das der Linker durchsucht, wahrscheinlich D:\Programme\MinGW\lib oder du gibst den Pfad dazu mit dem entsprechenden Compilierflag an, iirc ist das beim gcc -L, also ca. so:
g++ main.cpp -LD:/Programme/SQLite/lib -lsqlite3
also ich hab mir die entspechenden dlls von http://www.sqlite.org runtergeladen. dann mit
die libsqlite3.a erstelltCode:dlltool -D sqlite3.dll -d sqlite3.def -l libsqlite3.a

dann kann ich die binary nur auf linux-systemen ausführen wo libsqlite3 installiert is...Code:g++ -lsqlite3 source.cpp binary
Zitaterror while loading shared libraries: libsqlite3.so.0 cannot open shared object file: No such directory
kompiliert.Code:g++ -lsqlite3 source.cpp binary -L./
das ist der unterschied zwischen dynamischem und statischem linken
statisch gelinkt wird das binary groesser -> die library wird in das binary gepackt, dynamisch muss eben die entsprechende library dabei sein
unter linux kannst du auch ganz einfach den LD_LIBRARY_PATH=. setzen, dann sucht er im aktuellen verzeichnis nach libraries, du packst also einfach das linux binary und die lib in das gleiche dir und kannst auch das auf jedem rechner starten
ldd a.out ist immer gut um zu sehen welche libraries er von wo laedt.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026