Tutorial über SQLite gesucht!



  • Guten Mittag

    Ich suche ein gutes Tutorial über die C Bibliothek SQLite, am liebesten wäre mir Deutsch, Englisch sollte aber kein Problem sein.

    gruss reima





  • ich krige dauernd 92 link error:

    --------------------Konfiguration: sql - Win32 Debug--------------------
    Linker-Vorgang läuft...
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_aggregate_context
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_aggregate_count
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_blob
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_double
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_int
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_int64
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_null
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_parameter_count
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_parameter_index
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_parameter_name
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_text
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_bind_text16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_busy_handler
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_busy_timeout
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_changes
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_close
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_collation_needed
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_collation_needed16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_blob
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_bytes
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_bytes16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_count
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_decltype
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_decltype16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_double
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_int
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_int64
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_name
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_name16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_text
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_text16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_column_type
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_commit_hook
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_complete
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_complete16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_create_collation
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_create_collation16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_create_function
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_create_function16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_data_count
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_errcode
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_errmsg
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_errmsg16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_exec
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_finalize
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_free
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_free_table
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_get_auxdata
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_get_table
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_interrupt
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_last_insert_rowid
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_libversion
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_mprintf
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_open
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_open16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_prepare
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_prepare16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_progress_handler
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_reset
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_blob
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_double
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_error
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_error16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_int
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_int64
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_null
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_text
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_text16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_text16be
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_text16le
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_result_value
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_set_authorizer
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_set_auxdata
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_snprintf
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_step
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_total_changes
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_trace
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_user_data
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_blob
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_bytes
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_bytes16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_double
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_int
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_int64
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_text
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_text16
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_text16be
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_text16le
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_value_type
    sqlite3.def : error LNK2001: Nichtaufgeloestes externes Symbol sqlite3_vmprintf
    Debug/sql.lib : fatal error LNK1120: 90 unaufgeloeste externe Verweise
    LINK : fatal error LNK1141: Fehler bei der Erstellung der Exportdatei
    Fehler beim Ausführen von link.exe.

    sql.exe - 92 Fehler, 0 Warnung(en)

    der code sollte i.o sein (habe ihn probehalber mal von der page kopiert und eingefüt)

    Was mache ich falsch, ich habe nirgends eine *.lib datei oder so zum mitlinken gefunden....

    thx im voraus

    gruss reima



    1. Du könntest LoadLibrary() benutzen

    2. den source von sqlite kompilieren, dabei erhälst du dann ne *.lib
      Näheres dazu siehe: http://www.sqlite.org/cvstrac/wiki?p=HowToCompile

    3. sqlite indirekt über einen Wrapper benutzen:
      http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers



  • geeky schrieb:

    1. Du könntest LoadLibrary() benutzen

    2. den source von sqlite kompilieren, dabei erhälst du dann ne *.lib
      Näheres dazu siehe: http://www.sqlite.org/cvstrac/wiki?p=HowToCompile

    3. sqlite indirekt über einen Wrapper benutzen:
      http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers

    1. LoadLibrary bringt nichts, da die Funktion nicht VOR dem Linken aufgeruft wird.

    2. Habe ich versucht (1x über commandline mit dem Def File, 1x normal eine Bibliothek erstell), hab diese Libs mitgelinkt ---> die Link errors sind immer noch nicht weg



  • Nach dem das ja Public Domain ist kann ich das einfach selbst kompilieren und dir anbieten 🙂

    http://evilissimo-softdev.de/files/downloads/sonstiges/libsqlite3_msvc2k3.zip

    Ist eine statische lib + header.

    //Edit: Einfach bei deiner Anwendung mit einbinden. Es handelt sich hier auch um SQLite 3



  • evilissimo schrieb:

    Nach dem das ja Public Domain ist kann ich das einfach selbst kompilieren und dir anbieten 🙂

    http://evilissimo-softdev.de/files/downloads/sonstiges/libsqlite3_msvc2k3.zip

    Ist eine statische lib + header.

    //Edit: Einfach bei deiner Anwendung mit einbinden. Es handelt sich hier auch um SQLite 3

    Dank dir Chefkoch!

    doch nun gibt es andere Link error, das liegt warscheinlich k.a. warum:

    --------------------Konfiguration: das - Win32 Debug--------------------
    Kompilierung läuft...
    das.cpp
    Linker-Vorgang läuft...
    LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden
    libsqlite3.lib(vdbemem.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
    libsqlite3.lib(printf.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
    libsqlite3.lib(vdbe.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
    libsqlite3.lib(date.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
    libsqlite3.lib(pager.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(date.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(insert.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(vdbe.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(random.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(select.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(prepare.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(vdbeaux.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(func.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(utf.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(printf.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(os_win.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(util.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(build.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(btree.obj) : error LNK2001: Nichtaufgeloestes externes Symbol ___security_cookie
    libsqlite3.lib(pager.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(date.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(insert.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(vdbe.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(random.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(select.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(prepare.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(vdbeaux.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(func.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(utf.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(printf.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(os_win.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(util.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(build.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    libsqlite3.lib(btree.obj) : error LNK2001: Nichtaufgeloestes externes Symbol @__security_check_cookie@4
    Debug/das.exe : fatal error LNK1120: 3 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    hab wie immer die lib mitgelinkt, header inculidert, So wie ich es immer mache, benutze ja nicht das erste mal eine Lib, keine Ahnung warum es jetzt nicht geht...

    gruss reima



  • ist die lib evtl. ne debug-version ?
    Sowas gibt es auch bei der neuen Version des Platform SDKs beispielsweise bei der gdiplus.lib wenn man es unter dem alten MSVC6 verwenden will...



  • geeky schrieb:

    ist die lib evtl. ne debug-version ?
    Sowas gibt es auch bei der neuen Version des Platform SDKs beispielsweise bei der gdiplus.lib wenn man es unter dem alten MSVC6 verwenden will...

    Habs in Release und Debug version ausprobiert --> gleiches Problem,

    das kommische ist ja auch wenn ich normal eine Lib mit dem Quellcode erstellen will meckert er mich wegen einem cast an:

    C:\Programme\sql\Neuer Ordner\vdbeapi.c(232) : Fehler C2520: Konvertierung von unsigned __int64 in double nicht implementiert, verwenden Sie signed __int64

    was er bei DEV CPP nicht macht....



  • irgendwie ist MSVC++ 6.0 zu alt, habs mal mit der der 3.07 Version versucht (per DEF File und DLL ---> ohne Probleme zum laufen gekriegt 😮

    gruss reima



  • Problem ist wohl dieses Feature:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vclrfGSBufferSecurity.asp

    evilissimo hatte beim Projekt in MSVC-2003 wohl die "Buffer Security Check"-Option an mit der dein altes MSVC6 wohl nix anfangen kann 😉
    Die Leute die DirectX9 unter dem MSVC6 benutzen wollen haben dasselbe Problem...



  • Ich habs abgeschaltet und diesmal auch als Singlethreaded kompiliert.

    http://evilissimo-softdev.de/files/downloads/sonstiges/libsqlite3_msvc2k3_nosecchk.zip


Anmelden zum Antworten