MySQL mit Code::Blocks

yax

Erfahrenes Mitglied
Hallo,

Ich bin nun in meinem Lehrbuch über C am Kapitel MySQL und C angekommen. Doch um die ersten Programm zu schreiben muss MySQL richtig installiert sein. Meiner Meinung nach habe ich das auch, doch irgendwie funtkioniert die ausführung trotzdem nicht. Ich benutze Code::Blocks, und bekomme immer folgende Fehler:

Code:
error: static declaration of 'rint' follows non-static declaration|
||=== Build finished: 1 errors, 0 warnings ===|

Hier mein Programm:
Code:
#include <stdio.h>
#include <stdlib.h>
#ifdef __WIN32__
  #include "my_global.h"
  #include "mysql.h"
#else
  #include <mysql.h>
#endif

int main(void) {
  MYSQL *my;
  //Handle initialisieren
  my = mysql_init(NULL);
  if(my == NULL) {
    fprintf(stderr, "Initialisierung fehlgeschlagen!\n");
    return EXIT_FAILURE;
  }

  //Mit dem Server verbinden
  if( mysql_real_connect(
       my,      //Zeiger auf MYSQL-Handler
       NULL,    //Host-Name
       NULL,    //User-Name
       NULL,    //Passwort für user_name
       NULL,    //Name der Datenbank
       0,       //Port (default=0)
       NULL,    //Socket (defult=NULL)
       0        //Keine Flags
       ) == NULL) {
    fprintf(stderr, "Fehler mysql_real_connect(): %u (%s)\n", mysql_errno(my), mysql_error(my));
  } else
    printf("Erfolgreich mit dem MySQL-Server verbunden\n");

  //Hier befindet sich der Code für die Arbeit mit MySQL

  //Verbindung trennen
  mysql_close(my);
  return EXIT_SUCCESS;
}

Ich hoffe mir kann jemand helfen :) Schonmal danke im vorraus :)

Gruß yax :)
 
Ich habe meinen Code nocheinmal beendet, und jetzt bekomme ich eine andere Fehlermeldung:

Code:
obj\Debug\mysql1.o||In function `main':|
|12|undefined reference to `mysql_init@4'|
|19|undefined reference to `mysql_real_connect@32'|
|29|undefined reference to `mysql_error@4'|
|29|undefined reference to `mysql_errno@4'|
|36|undefined reference to `mysql_close@4'|
||=== Build finished: 5 errors, 0 warnings ===|

und hier mein "neuer" Code:
Code:
#include <stdio.h>
#include <stdlib.h>
#ifdef __WIN32__
  #include <windows.h>
#endif
  #include <mysql.h>


int main(void) {
  MYSQL *my;
  //Handle initialisieren
  my = mysql_init(NULL);
  if(my == NULL) {
    fprintf(stderr, "Initialisierung fehlgeschlagen!\n");
    return EXIT_FAILURE;
  }

  //Mit dem Server verbinden
  if( mysql_real_connect(
       my,      //Zeiger auf MYSQL-Handler
       NULL,    //Host-Name
       NULL,    //User-Name
       NULL,    //Passwort für user_name
       NULL,    //Name der Datenbank
       0,       //Port (default=0)
       NULL,    //Socket (defult=NULL)
       0        //Keine Flags
       ) == NULL) {
    fprintf(stderr, "Fehler mysql_real_connect(): %u (%s)\n", mysql_errno(my), mysql_error(my));
  } else
    printf("Erfolgreich mit dem MySQL-Server verbunden\n");

  //Hier befindet sich der Code für die Arbeit mit MySQL

  //Verbindung trennen
  mysql_close(my);
  return EXIT_SUCCESS;
}
 
Hi

zum zweiten Beitrag: Linkerfehler.
Liegt nicht am Code, sondern an den Projekteinstellungen / Kommandozeile.

zum Ersten:
Du musst für das Programm nicht unbedingt die DB MySQL installiert haben, sondern das Programm mit der MySQL-Lib kompilieren.
Zum Ausprobieren wäre dann die DB sinnvoll.

Gruß
 
Es kann sein das ich die Fragen jetzt falsch verstehe, aber die fehlermeldungen sind immer noch dasselbe und das Programm lässt sich nicht starten.
 
Zurück