MySQL das erste Mal nutzen!

  • Hallo zusammen,

    ich bin gerade dabei mit C (wo ich noch nicht viel mit gemacht habe) eine Verbindung zu meiner Localhost SQL Datenbank zu erstellen (hab ich mit Java schon öfters gemacht)!

    Hab auch im Compiler alles richtig eingebunden, gibt ja ein zwei Tutorials dazu!
    Ich nutrze übrigens Code::Block

    Jetzt kommt aber bei mir folgender Fehler:

    Code
    mingw32-g++.exe -L"C:\Program Files\MySQL\MySQL Connector C 6.1\lib" -L"C:\Program Files\MySQL\MySQL Connector C 6.1\lib" -o "bin\Debug\SQL TEst2.exe" obj\Debug\main.o  -lmysql -lmysql  "C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib" "C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib"
    C:\Program Files\MySQL\MySQL Connector C 6.1\lib/libmysql.dll: file not recognized: File format not recognized
    collect2.exe: error: ld returned 1 exit status

    Folgendes binde ich ein:

    C
    #include <windows.h>
    #include <mysql.h>
    #include <stdio.h>

    Hat jemand ne Ahnung woran der Fehler liegt? :)[/code]

    Einmal editiert, zuletzt von Paxi (25. Oktober 2014 um 13:09)

  • Hi,


    ...
    Hat jemand ne Ahnung woran der Fehler liegt?
    ...

    Der Compiler sagt Dir doch ganz klar, was ihm nicht passt: er kann mit "libmysql.dll" nichts anfangen.
    Das gehört da imho auch gar nicht hin ... afaik werden nur die libs dazu gelinkt.
    Ausserdem hast Du zweimal "-lmysql" im Compiler-Aufruf.


    ...
    Hab auch im Compiler alles richtig eingebunden, gibt ja ein zwei Tutorials dazu! ...
    ....

    trotz zweier Tutorials scheinbar nicht :fies:

    cu,
    -ds-

  • Ich hab das normal installiert, in dem Ordner ist ne libmysql.dll und ne libmysqllibrary....
    Muss das was von gelöscht werden? Oder was muss ich machen?
    Den zweiten Aufruf hab ich entfernt!

    Einmal editiert, zuletzt von Paxi (25. Oktober 2014 um 14:35)

  • Hi,
    irgendwas beim Compiler-Aufruf scheint da nicht zu stimmen.
    Möglicherweise hast Du auch das mySql-Entwicklerpaket falsch installiert.
    Aber vielleicht geht's ja jetzt auch.
    Soll ich vorbeikommen, Deine Anleitung(en) durchgehen und nachsehen, was Du da evtl. falsch installiert, eingestellt, ... hast?

    cu,
    -ds-

  • Bin nochmal alles durchgegangen, alles genau so durchgegangen....
    Immernoch dieser Fehler:
    C:\Program Files\MySQL\MySQL Connector C 6.1\lib/libmysql.dll: file not recognized: File format not recognized
    collect2.exe: error: ld returned 1 exit status

  • Das mit den ganzen libraries by MySQL? Falls natürlich alle installiert sind....
    Mach ich so:

    Code
    gcc stromzaehler.c -o stromzaehler `mysql_config --cflags --libs` -Wall -lbcm2835

    Der Aufruf von mysql_config --cflags --libs liefert die "richtigen" libs. Ggf gibt es sowas unter Windows auch?

    Einmal editiert, zuletzt von WernerPI (25. Oktober 2014 um 15:02)


  • ...
    C:\Program Files\MySQL\MySQL Connector C 6.1\lib/libmysql.dll: file not recognized: File format not recognized
    collect2.exe: error: ld returned 1 exit status


    Na nun jetzt aber ... ein bisschen mehr Action bitte :fies:
    Du bist ja lt. eigener Aussage kein absoluter "Frischling" wenn Du schon öfter DB-Anwendungen mit Java erstellt hast.
    Was könnte die Fehlermeldung wohl bedeuten?
    Wie könnte man Abhilfe schaffen ...

    cu,
    -ds-

  • Hatte ich vorher doch schon mal geschrieben ... scheinbar mag er die DLL nicht.

    Möglichkeit 1: die DLL ist korrupt -> De-/Neu-Installation des mysql-Entwicklerzeugs
    Möglichkeit 2: Einstellungen von Code::Blocks ... stimmen nicht: checken, googlen, anderes Beispiel, anderes Tut, ...

    cu,
    -ds-

  • Eine dll kann man nicht zum EXE linken, denn DLL heisst DYNAMIC LINK LIBRARY !

    Das ist also eine Library die zur Laufzeit geladen wird.

    Die muss raus aus dem Link. Normalerweise gibt es dazu ein File das aehnlich
    heisst wie die DLL, mit den Definitionen der Funktionen in der DLL und den
    Anweisungen wie die DLL zu laden ist.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!