mysql.h



  • hi,

    3 C:\Dokumente und Einstellungen\Administrator\Desktop\Unbenannt1.cpp
    from C:\Dokumente und Einstellungen\Administrator\Desktop\Unbenannt1.cpp
    117 C:\Dev-Cpp\include\mysql_com.h
    syntax error before ;' C:\\Dokumente und Einstellungen\\Administrator\\Desktop\\Unbenannt1.cpp [Warning] In functionint main()':
    29 C:\Dokumente und Einstellungen\Administrator\Desktop\Unbenannt1.cpp
    `mysql' undeclared (first use this function)
    [Build Error] (Each undeclared identifier is reported only once
    [Build Error] for each function it appears in.)

    diese fehlermeldungen habe ich wenn ich über die headerdatei mysql.h aus mysql 2.23.58 ein programm compilieren will dass auf eine mysql datenbank zugreift...wo liegt mein fehler? 😕

    das programm besteht im prinzip nur aus:

    mysql_init(&mysql);
        if (mysql_real_connect (&mysql,"localhost","root","","lan",0,NULL,0)==NULL)        
        { 
             printf ("fehler´");
        } 
    
        else printf("erfolgreich");
    

    Edit by AJ: Cpp-Tags eingefügt



  • Zeig mal den Code deiner kompletten Datei (Unbenannt1.cpp). Am besten per Copy & Paste ;).



  • #include<stdio.h>
    #include<conio.h>
    #include<mysql.h>
    
    int main(void)
    {
    mysql_init(&mysql);
        if (mysql_real_connect (&mysql,"localhost","root","","lan",0,NULL,0)==NULL)        
        { 
             printf ("fehler´");
        } 
    
        else printf("erfolgreich");
    
    mysql_close(&mysql);
    
    getch();
    return 0;
    }
    

    das wars, ist ja nur ein testprogramm obs überhaupt geht 😞



  • Du musst noch die Variable mysql anlegen. In der mysql.h ist sicher der passende Datentyp definiert. Schau einfach mal in die mysql.h rein und achte drauf welchen Datentyp der Parameter von mysql_init() besitzt.



  • also

    MYSQL *		STDCALL mysql_init(MYSQL *mysql);
    

    is die funktion

    dann hab ichs so gemacht, also den typ MYSQL als typ genommen:

    #include<stdio.h> 
    #include<conio.h> 
    #include<mysql/mysql.h> 
    
    int main(void) 
    {
    
    MYSQL mysql;
    
    mysql_init(&mysql); 
        if (mysql_real_connect (&mysql,"localhost","root","","lan",0,NULL,0)==NULL)         
        { 
             printf ("fehler´"); 
        } 
    
        else printf("erfolgreich"); 
    
    mysql_close(&mysql); 
    
    getch(); 
    return 0; 
    }
    

    und trotzdem fehler 😞

    Kompilierung läuft...
    Cpp1.cpp
    c:\programme\microsoft visual studio\vc98\include\mysql\mysql_com.h(117) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'fd'
    c:\programme\microsoft visual studio\vc98\include\mysql\mysql_com.h(117) : error C2501: 'SOCKET' : Fehlende Speicherklasse oder Typbezeichner
    c:\programme\microsoft visual studio\vc98\include\mysql\mysql_com.h(117) : error C2501: 'fd' : Fehlende Speicherklasse oder Typbezeichner
    Fehler beim Ausführen von cl.exe.

    Cpp1.obj - 3 Fehler, 0 Warnung(en)

    edit:

    hier die zeilen die er anmeckert:
    typedef struct st_net {
    Vio* vio;
    my_socket fd; /* DIESE HIER (117)/
    int fcntl;
    unsigned char *buff,*buff_end,*write_pos,*read_pos;
    char last_error[MYSQL_ERRMSG_SIZE];
    unsigned int last_errno,max_packet,timeout,pkt_nr;
    unsigned char error;
    my_bool return_errno,compress;
    my_bool no_send_ok; /
    needed if we are doing several
    queries in one command ( as in LOAD TABLE ... FROM MASTER ),
    and do not want to confuse the client with OK at the wrong time
    */
    unsigned long remain_in_buf,length, buf_length, where_b;
    unsigned int *return_status;
    unsigned char reading_or_writing;
    char save_char;
    } NET;



  • Hallo,

    includiere einfach noch <windows.h> als erstes:

    #include <windows.h>
    #include <stdio.h> 
    #include <conio.h> 
    #include <mysql/mysql.h>
    ...
    

    MfG



  • tatsache, läuft 😮 😮

    nur wie bekomm ich diese fehler beim compilieren weg:

    Linker-Vorgang läuft...
    Text1.obj : error LNK2001: Nichtaufgeloestes externes Symbol _mysql_close@4
    Text1.obj : error LNK2001: Nichtaufgeloestes externes Symbol _mysql_real_connect@32
    Text1.obj : error LNK2001: Nichtaufgeloestes externes Symbol _mysql_init@4
    Debug/Text1.exe : fatal error LNK1120: 3 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    Text1.exe - 4 Fehler, 0 Warnung(en)

    😕 😞



  • Du mußt noch gegen "libmySQL.lib" (oder so ähnlich heißt die) linken...



  • da musst du wohl noch ne lib mit einlinken.
    warscheinlich irgendeine mysql-lib.
    hab noch nie mysql in C geproggt. Und schon garnich mit Visual C++ 😉



  • @Hepi:
    da haben wir wohl ziemlioch gleichzeitig gepost0rt!



  • *heul*

    #include<windows.h>
    #include<stdio.h> 
    #include<conio.h>
    #include<mysql/mysql.h>
    #include<libmySQL.lib>
    
    int main(void) 
    {
    
    MYSQL mysql;
    
    mysql_init(&mysql); 
        if (mysql_real_connect (&mysql,"localhost","root","","lan",0,NULL,0)==NULL)         
        { 
             printf ("fehler´"); 
        } 
    
        else printf("erfolgreich"); 
    
    mysql_close(&mysql); 
    
    getch(); 
    return 0; 
    }
    

    --------------------Konfiguration: Text1 - Win32 Debug--------------------
    Kompilierung läuft...
    Text1.cpp
    c:\programme\microsoft visual studio\vc98\include\libmysql.lib(1) : error C2143: Syntaxfehler : Fehlendes ';' vor '!'
    c:\programme\microsoft visual studio\vc98\include\libmysql.lib(2) : error C2018: Zeichen '0x60' unbekannt
    c:\programme\microsoft visual studio\vc98\include\libmysql.lib(3) : error C2018: Zeichen '0xb3' unbekannt
    c:\programme\microsoft visual studio\vc98\include\libmysql.lib(3) : error C2001: Zeilenumbruch innerhalb einer Konstanten
    c:\programme\microsoft visual studio\vc98\include\libmysql.lib(4) : fatal error C1004: Unerwartetes Dateiende gefunden
    Fehler beim Ausführen von cl.exe.

    Text1.obj - 5 Fehler, 0 Warnung(en)

    😞 😞 😞



  • 🙄

    Du sollst die .lib nicht includieren, sondern deinen Projektdateien hinzufügen.



  • sry *noob*

    aber jetzt gehts, danke 🙂



  • Gern geschehen.

    Jeder fängt mal klein an 😉


Anmelden zum Antworten