MySQL mit C API / Connector C und ohne DLL und LIB's



  • Hallo,

    ich bin gerade dabei MySQL mit mit der C Api bzw. Connector C (blicke den Unterschied nicht :)) einzubinden. Ich komme dabei aber nicht richtig voran. Wie gesagt MUSS es ohne dll's oder lib's von statten gehen. Ich schaffe es dass mein Programm kompiliert (wenn ich den SQL kram nicht benutze aber im Projekt integriere). Sobald ich aber auf die Api-Funktionen (z.B.: mysql_init) zugreife bekomme ich Linker-Errors mit nicht aufgelösten externen Symbolen zu genau jenen Funktionen:

    error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_mysql_close@4" in Funktion "bla"
    

    Den SourceCode habe ich auch komplett eingebunden soweit ich das beurteilen kann (also mysql.h, client.c, usw.).

    Kann jemand sagen was mir fehlt? Oder kennt jemand eine gute Anleitung die erklärt wie ich das MySQL Gedöhns einbinden muss (ohne DLL und LIB)?

    ps.: meinem projekt hinzugefügt habe ich:
    mysql_connector_c/include (komplett)
    mysql_connector_c/libmysql ohne conf_to_src
    mysql_connector_c/mysql_config
    mysql_connector_c/extlib/yassl/include (komplett)

    MfG RollSplitt.



  • Na was glaubst Du wo die API drin ist?

    In einer DLL.
    Da DU die API verwendest wirst Du auch die Bibliothek brauchen und musst sie Linken.



  • sqllite stellt eine Alternative dar, wenn du keinen "echten" datenbankzugriff benötigst, sondern nur auf lokalen daten arbeiten willst.

    http://www.sqlite.org/



  • Danke für den Tip, aber ich brauche tatsächlich einen echten Datenbankzugriff. Die lokalen Daten werden schon mit SQLite abgefragt. Allerdings kann ich die SQLite-DB für mein Vorhaben nicht gebrauchen.



  • sqllite benötigt auch eine Bibliothek mit DLL etc.
    Da ist jetzt kein Unterschied zu MySQL,MSSQL, etc.

    Alles was nicht im Standard (kommt ja auch aus DLL) ist benötigt DLL.



  • Ist so nicht ganz richtig, wir haben hier SQLite ohne DLL und Lib in die Projekte eingebunden. Die Sache ist ja die, meinetwegen benutze ich MySQL auch mit dll ... ich habe nur die Vorgabe mein Möglichstes zu tun dass wir es ohne Lib und DLL benutzen können.



  • Wenn Du die SQLLITE-Bib nicht benutzt hast dann hast Du wohl das RDBMS selbst geschrieben.



  • Warum sollte ich, es gibt doch den Sourcecode. Dann kann man sich den ganzen Kram selbst kompilieren. Und genau das habe ich auch mit MySQL vor.... nur wie schon gesagt will MySQL nicht .... aber egal.

    Mitlerweile habe ich mein Vorhaben aufgegeben und es dynamisch gelinkt. Statisch linken hat im Debug-modus nicht funktioniert (da die lib nur für Release war). Ich kann mich auch dunkel an eine debug-lib errinnern, ich bin mir aber nicht sicher ob die bei der Api dabei war... egal.


Anmelden zum Antworten