Problème mySQL Lib [Résolu]

Signaler
Messages postés
45
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2009
-
Messages postés
45
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2009
-
Salut, je cherche à me connecter sur un serveur mySQL (sur free) mais j'obtiens plusieurs messages d'erreurs en rapport avec la librairie libmySQL.

Voici le code (en C):

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include "mysql/mysql.h"

#define __WIN__
#define MYSQL_HOST "ftpperso.free.fr"
#define MYSQL_USER "username"
#define MYSQL_PASS "password"
#define MYSQL_DB   "database"

int main(int argc, char *argv[])
{
 
    MYSQL *mySQL;
    MYSQL_ROW myROW;
    MYSQL_RES *myRES;
    char table[100];

    mySQL = mysql_init(NULL);

  //if (!mysql_real_connect(mySQL, MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DB, 0, NULL, 0)) {
    if (!mysql_connect(mySQL, MYSQL_HOST, MYSQL_USER, MYSQL_PASS)) {
    printf("Connexion a la base de donnee impossible !\n");
    return 0;
    }

    if (mysql_select_db(mySQL, MYSQL_DB)) {
    mysql_close(mySQL);
    printf("Selection de la base de donnee impossible !\n");
    return 0;
    }

    myRES = mysql_list_tables(mySQL, NULL);
    if (myRES) {
        unsigned int i;
        for(i=0; i < myRES->row_count; i++) {
            myROW = mysql_fetch_row(myRES);
            unsigned int j;
            for(j=0; j < mysql_num_fields(myRES); j++) {
                sprintf(table, "%s", myROW[j], strlen(myROW[j]));
                printf("%s\n", table);
                free(table);
                fflush(stdout);
                }
            }
    mysql_free_result(myRES);
    }

    mysql_close(mySQL);
    system("pause");   
    return 0;
}

Les messages sont les suivants:

[Linker error] undefined reference to 'mysql_init@4'
[Linker error] undefined reference to 'mysql_connect'
[Linker error] undefined reference to 'mysql_select_db@8'
[Linker error] undefined reference to 'mysql_close@4'
[Linker error] undefined reference to 'mysql_list_tables@8'
[Linker error] undefined reference to 'mysql_fetch_row@4'
[Linker error] undefined reference to 'mysql_num_fields@4'
[Linker error] undefined reference to 'mysql_free_result@4'
[Linker error] undefined reference to 'mysql_close@4'

J'ai lu quelque part qu'il fallait créer la librairie libmySQL.lib par la commande suivante, exécutée dans une console :
implib libmySQL.lib libmySQL.dll
Quand je fais sa, sa me dit: 'implib' n'est pas reconnu en tant que commande interne...

Une idée ???

5 réponses

Messages postés
1491
Date d'inscription
dimanche 19 novembre 2000
Statut
Modérateur
Dernière intervention
7 juillet 2014

DevC++

Outil => Package Manager et la dedans tu va trouver un package libMySQL ou quelque chose du genre. Tu l'install et tout le linkage se fait tout seul mais sa fait longtemps je l'ai pas réessayer.

A+

http://vbaddons.free.fr
Cégep Lévis
Messages postés
192
Date d'inscription
dimanche 16 janvier 2005
Statut
Membre
Dernière intervention
28 février 2011
7
Je ne m'y connais pas dans la librairie mySQL mais as tu bien inclue la librairie dans ton projet (dans les liens)?

Et sinon pour te connecter à free même quand ton application marchera se sera impossible : [auteurdetail.aspx?ID=55593 ixpichu]
"Tu pourras jamais te connecter à MySQL de free à partir de ta machine
car les comptes free sont configurés de manière à n'accepter que les
connexions à partir du serveur Apache de free."
(j'ai trouvé ça sur un commentaire d'une autre source ici)

Bonne chance.
--------------------
Quand la merde vaudra de l'or les pauvres naitrons sans trou du cul. Coluche.
Mon projet : Squirrel's Cliff
Messages postés
45
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2009

j'ai rajouté
-lmysqlclient 
dans l'éditeur de liens (avec Dev-C++)
Des nouveaux messages d'erreurs apparaissent:
variable '_iob' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
...
...
.drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
...
...
.drectve `/DEFAULTLIB:"libcpmt" /DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
.drectve `/DEFAULTLIB:"libcpmt" /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized

Je m'ecarte là ???
Messages postés
549
Date d'inscription
samedi 6 septembre 2003
Statut
Membre
Dernière intervention
6 mars 2010

Bonsoir,

Essaye de mettre la dll de mysql dans le repertoire ou tu compiles...

Si tu essaies de te connecter a ftpperso.free.fr avec ton appli, il me semble que c'est perdu d'avance, car tu ne peux pas te connecter sur ta base via ta machine.

Matt...
Messages postés
45
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2009

Ok merci pour vos réponses, si je ne peux pas me connecter sur free c'est plus la peine :)