Problème mySQL Lib

Résolu
cs_Mini92 Messages postés 45 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 10 janvier 2009 - 14 nov. 2006 à 14:16
cs_Mini92 Messages postés 45 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 10 janvier 2009 - 22 nov. 2006 à 00:12
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

cs_max12 Messages postés 1491 Date d'inscription dimanche 19 novembre 2000 Statut Modérateur Dernière intervention 7 juillet 2014
15 nov. 2006 à 01:49
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
3
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 10
14 nov. 2006 à 14:30
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
0
cs_Mini92 Messages postés 45 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 10 janvier 2009
14 nov. 2006 à 14:36
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à ???
0
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
17 nov. 2006 à 23:00
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Mini92 Messages postés 45 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 10 janvier 2009
22 nov. 2006 à 00:12
Ok merci pour vos réponses, si je ne peux pas me connecter sur free c'est plus la peine :)
0
Rejoignez-nous