MySQL Verbindung klappt nicht :(



  • Ich bin absolut neu in C++ (habe vorher PHP gemacht und brauche einfach Datenbanken), deshalb versuchte ich mich daran.

    Hab extra einen lokalen MySQL Server nachinstalliert weil ich denke mit MySQL Servern im Netz die Verbindungen nach außen zulassen fang ich an, wenn ich die Handlings kann.

    Also mein Code (Copy und Paste einer Anleitung - sieht ganz tool aus eigentlich):

    #include <windows.h>
    #include <time.h> 
    #include <stdio.h> 
    #include <mysql.h> 
    
    int main ()  { 
        MYSQL_RES *mTabelle; 
        MYSQL_ROW mRecord; 
        MYSQL *mConnection, mDB; 
        int mError; 
        mysql_init(&mDB); 
        mConnection = 
    mysql_real_connect(&mDB,"localhost","root","blabla","mysql",0,0,0);
        if (mConnection == NULL)  { 
            printf("Es konnte keine Verbindung zur Datenbank hergestellt werden: %s",mysql_error(&mDB)); 
            return 1; 
        } else { 
     printf("Es wurde erfolgreich eine Verbindung hergestellt!"); 
        } 
        mysql_close(mConnection); 
        return 0; 
    }
    

    Ich bekomme jedoch Fehler beim Kompilieren wie:

    D:\WINDOWS\TEMP\ccsXedaa.o(.text+0xad):untitl~1.cpp: undefined reference to mysql_init@4' D:\\WINDOWS\\TEMP\\ccsXedaa.o(.text+0xd6):untitl~1.cpp: undefined reference tomysql_real_connect@32'
    D:\WINDOWS\TEMP\ccsXedaa.o(.text+0xf3):untitl~1.cpp: undefined reference to mysql_error@4' D:\\WINDOWS\\TEMP\\ccsXedaa.o(.text+0x12b):untitl~1.cpp: undefined reference tomysql_close@4'

    Ich hab stundenlang gesucht aber ich finde keine Lösung. Die Includes habe ich alle eingebunden sonst kämen Fehler. Die libmySQL.dll hab ich in den system32 Ordner getan. Ich bin absolut ratlos 😕

    Mach ich vielleicht beim Kompilieren was falsch ? Nutze Dev-C++



  • Hallo,
    es reicht nicht die libmysql.dll nur in den System32 Ordner zu hauen, sondern du musst sie schon einbinden, wenn du mit Dev-C++ arbeitest müsstest du über den Package Manager ja schon das MySQL-Package runtergeladen haben, dann müsste im Dev-Verzeichnis ein Unterordner lib liegen, da ist ne libmysql.a drin, und die bindest du unter Dev-C++ bei den Projektoptionen unter dem Reiter "Parameter" eine Schaltfläche "Objekt/Bibliothek hinzufügen" finden, mit der du die libmysql.a hinzufügen kannst, musst sie dann bloß noch raussuchen. Ich hoffe, das war einigermaßen verständlich und ich hoffe das es dann geht.

    MfG



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ok ich habe die libmysql.lib zugefügt. Man kann auch eine libmysql.a angeben, aber ist das nicht das selbe ?



  • Also das ist meine jetztige Ausgabe. Sieht nicht so arg schlecht aus, bis auf das die exe nicht erstellt wird. Kann jemand bitte ein Blick drüber werfen?

    Compiler: Default compiler
    Building Makefile: "C:\Dokumente und Einstellungen\neus\Desktop\Makefile.win"
    Führt make... aus
    make.exe -f "C:\Dokumente und Einstellungen\neus\Desktop\Makefile.win" all
    dllwrap.exe --output-def libProjekt1.def --driver-name c++ --implib libProjekt1.a main.o -L"C:/Dev-Cpp/lib" H:/C++/dll/libmySQL.lib -o Projekt1.exe H:/C++/dll/libmySQL.lib: file not recognized: File format not recognized
    collect2: ld returned 1 exit status dllwrap.exe: no export definition file provided.
    Creating one, but that may not be what you want
    dllwrap.exe: c++ exited with status 1 make.exe: *** [Projekt1.exe] Error 1 Ausführung beendet



  • Hallo,
    der scheint mir die LibMySQL.lib nicht zu kennen probiers doch einfach mal mit der .a

    MfG


Anmelden zum Antworten