Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1505 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Utilisation des API C de MySQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilisation des API C de MySQL

n°1133553
pingfr
Posté le 28-06-2005 à 13:13:32  profilanswer
 

Bonjour,
 
J'essais d'utiliser l'API C de MySql pour développer un prog.
Hélas, j'arrive pas à compiler, Visual studio ne trouve pas les librairies pour compiler, quelque soit la fonction qui se trouve dans les bibliothéques de MySQL.
 
J'utilise Visual Studio 6.0
J'ai installé mysql-4.1.12a-win32 (version complete de 36.9Mo)
 
Dans visual studio, j'ai mis dans Tools/Options/Directories les chemins suivants  :
 
- des includes (d:\MySQL Server 4.1 Full\include)
- des librairies(d:\MySQL Server 4.1 Full\lib\opt et MySQL Server 4.1 Full\lib\debug )
 
J'ai le message d'erreur suivant :
 
Linking...
essais connexion.obj : error LNK2001: unresolved external symbol _mysql_get_client_info@0
Debug/essais connexion.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
 
essais connexion.exe - 2 error(s), 0 warning(s)

 
J'ai consulté la doc officielle mais je ne trouve rien à ce sujet et les chemins des librairies sont corrects.
 
Voici mon source pour essayer de récupérer la version du client, mais les autres fonctions  ne marchent pas non plus):
 
#include <stdio.h>
#include <afxsock.h>
#include <my_global.h>
#include <mysql.h>
 
void main()
{
 char host[10]="localhost";
 char password[10]="pass";
 uint port=3600;
 char user[10]="root";
 
 char *test;
 
 
 test=(char *)mysql_get_client_info();
}

 
La compilation sans les liens n'indique aucunes erreurs de syntaxe dans le source.
 
Merci de votre aide.

mood
Publicité
Posté le 28-06-2005 à 13:13:32  profilanswer
 

n°1133739
HelloWorld
Salut tout le monde!
Posté le 28-06-2005 à 15:00:21  profilanswer
 

Faut linker avec le .lib de MySQL qui se trouve quelque part dans ton package (répertoire /lib généralement).
Là tu as donné le path vers la lib, mais tu n'as pas dit de lier avec...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1133838
pingfr
Posté le 28-06-2005 à 16:15:16  profilanswer
 

Oki, ça marche ^^
 
Il fallait que j'ajoute le fichier libmysql.lib dans Menu Project => Setting => Onglet link, dans le champ Object/library modules.
 
Mais je ne comprends pas bien ? Il ne suffi pas de donner les chemin des libs ? il faut donc les linker dans le projet ?
Mais comment savoir lequelles il faut ajouter ?

n°1134180
HelloWorld
Salut tout le monde!
Posté le 28-06-2005 à 22:28:18  profilanswer
 

Ben non, ça rajoute juste cet emplacement au path de recherche des libs. Quand tu dis rajoute libmysql.lib il va chercher dans tous les rep qu'il connait comme des rep de libs. Il peut pas automatiquement inclure tous les libs, sinon bonjour les problèmes.
C'est exactement pareil avec les includes. C'est pas parce que tu as rajouter le rep /include de mysql que ça te dispense de faire #include <mysql.h>.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1134299
pingfr
Posté le 29-06-2005 à 08:27:04  profilanswer
 

Ok, j'ai compris.
Merci à toi ;o)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Utilisation des API C de MySQL

 

Sujets relatifs
[MySQL] Reconstruire une base de données sans les fichiers .myiEquivalent AUTOINCREMENT en MySQL?
Connaissez vous un FrameWork Open Source travaillant avec PHP MYSQL ?requete avec array et mysql
Ajout de champs ds requête en MySQLmySQL et VB
[php-mySQL] recherche dans une base mySQL problème d'accents[MySQL] sélection aléatoire d'enregistrement en fonction de ....
reconf apache+php+mysql après réinstall de winincrémentation auto dans mysql
Plus de sujets relatifs à : Utilisation des API C de MySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR