IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

[Lieur Erreur] Unresolved external 'mysql_init' etc


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 135
    Par défaut [Lieur Erreur] Unresolved external 'mysql_init' etc
    Bonjour,

    Je veux pouvoir créer et remplir des tables mysql (sous EasyPhp) dynamiquement via C++builder5.
    J'ai suivi les instructions de LFE : Utilisation de l'API mySQL avec Borland C++ Builder et voici ce que j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Lieur Erreur] Unresolved external 'mysql_init' referenced from D:\...\UNIT1.OBJ
    et ce pour toutes les fct mysql...

    voici mon code Unit1.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit1.h"
     
    // Add 23/06/2007 Dans les unités utilisant les fonctions de l'API mySQL, Ajouter les 2 lignes de code suivantes :
       #define __WIN__
       #include "mysql.h"
     
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
     // Avant tout chose il est nécessaire d'initialiser l'accès à la DLL.
     
     
        MYSQL *mySQL;
     
        mySQL = mysql_init(NULL);
     
     // Au retour, mySQL contient l'adresse de la structure permettant l'intefacage avec mySQL, ou NULL en cas d'erreur.
     // Il est tout à fait possible d'avoir plusieurs connections dans le même programme.
     
        if (!mysql_real_connect(mySQL, "127.0.0.1", "root", "root", "test", 0, NULL, 0))
        {
         // la connection a échoué
            Application->MessageBox("la connection a échoué!", NULL, MB_OK);
        }
        else
        {
         // la connection a réussi
            Application->MessageBox("la connection a réussi!", NULL, MB_OK);
        }
    }
    //---------------------------------------------------------------------------
    Merci de m'aider, ce programme n'est qu'1/10 de mon projet et si je rame déjà sur lui ...

  2. #2
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    Salut, tu es sûr que c'est :
    et non pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "mysql/mysql.h"
    ou un truc de ce style si ce n'est pas ça. Parceque j'ai l'impression que les fonctions de MySQL, il veut aller chercher leur prototype dans Unit1.h. Je peux me tromper aussi ....

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut James_
    Un lien sur la FAQ Delphi qui pourrait etre util:

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par blondelle
    Salut James_
    Un lien sur la FAQ Delphi qui pourrait etre util:
    Ce qu'il essai de faire c'est d'utiliser la librairie de MySQL directement comme d'écrits ici: http://lfe.developpez.com/BCBmySQL/

    Je suis d'accord avec ac/dc d'après moi ton path n'est pas bon pour ton fichier mysql.h ou tu ne l'a pas installer. Il faut aussi que tu inclues le fichier lib a ton projet. Le fichier lib doit avoir été créer avec la commande: implib libmySQL.lib libmySQL.dll

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 135
    Par défaut
    Je suis d'accord avec ac/dc d'après moi ton path n'est pas bon pour ton fichier mysql.h ou tu ne l'a pas installer. Il faut aussi que tu inclues le fichier lib a ton projet. Le fichier lib doit avoir été créer avec la commande: implib libmySQL.lib libmySQL.dll
    Pouvez-vous être plus explicite? J'ai suivi à la ligne les instructions, mon fichier mysql.h se trouve dans le même répertoire que unit1.cpp.
    J'ai copié le répertoire include de MySql dans le même répertoire que Unit1.cpp et j'ai utilisé la commande <implib libmySQL.lib libmySQL.dll> sous ce même répertoire.
    J'ai tjs les meme messages même en changeant mon include "mysql/mysql.h" d'ailleur cette instruction me donne des erreur d'indéfini

  6. #6
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Dans mon cas avec BDS 2006 j'ai mis tous mes fichiers d'entête dans mon dossier: C:\Program Files\Borland\BDS\4.0\include\MySQL

    Et dans mon logiciel je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "MySQL/mysql.h"
    J'ai aussi inclus mon fichier à mon projet BCB

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 28
    Par défaut
    J'ai eu le même problème,
    regarde la taille de ton fichier .lib s'il fait 1ko Soucis.
    mets toi dans une fenêtre ms-dos et execute le impib dans le répertoire de la dll
    la taille du fichier est de 17ko

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/09/2013, 17h25
  2. Réponses: 14
    Dernier message: 01/11/2010, 15h15
  3. [Lieur Erreur] Unresolved external
    Par dalil_1010 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/04/2010, 08h36
  4. Réponses: 16
    Dernier message: 30/04/2009, 15h51
  5. Réponses: 5
    Dernier message: 15/01/2007, 21h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo