Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/10/2011, 22h04   #1
Invité de passage
 
Homme
Inscription : mars 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2011
Messages : 20
Points : 2
Points : 2
Par défaut Problème de header MySQL

Bonjour.
Je découvre MySQL et je suis plutôt débutant en développement.
Je code une application c++ qui doit se connecter et envoyer des requêtes à une base de donnée MySQL.

Pour faire des tests j'ai créé une fonction dans une classe mais cette fonction ne compile pas.
voici le code de ma fonction :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char *server = "localhost";
    char *user = "blot";
    char *password = "blot";
    char *database = "maBase";
	MYSQL *connection = mysql_init(NULL);
 
    // connect to the database with the details attached.
    if (!mysql_real_connect(connection, server, user, password, database, 0, NULL, 0)) {	
		cout<< "Conection error : \n";
		cout<< mysql_error(connection)<<endl;
    }
	else{
		cout<<"connexion reussi"<<endl;
	}
et voici le header que je met :
Code :
#include <C:\Program Files\MySQL\MySQL Server 5.1\include\mysql.h>

A la compilation les erreurs que j'obtiens sont :

Citation:
1>BDInterface.obj : error LNK2019: symbole externe non résolu _mysql_error@4 référencé dans la fonction "public: void __thiscall BDInterface::ReadMyData(void)" (?ReadMyData@BDInterface@@QAEXXZ)
1>BDInterface.obj : error LNK2019: symbole externe non résolu _mysql_real_connect@32 référencé dans la fonction "public: void __thiscall BDInterface::ReadMyData(void)" (?ReadMyData@BDInterface@@QAEXXZ)
1>BDInterface.obj : error LNK2019: symbole externe non résolu _mysql_init@4 référencé dans la fonction "public: void __thiscall BDInterface::ReadMyData(void)" (?ReadMyData@BDInterface@@QAEXXZ)


Je suppose que c'est un problème de header mais celui ci est reconnu. Donc je ne sais plus quoi faire pour que ma fonction passe à la compilation et avancer dans mon projet.
Quelqu'un aurait une idée??

Merci d'avance pour vos contributions.
guadock est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 23h21   #2
Invité de passage
 
Homme
Inscription : mars 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2011
Messages : 20
Points : 2
Points : 2
Bon j'ai ajouté libmysql.lib à l'entrée de éditeur de lien ainsi qu'ajouté le repertoire "C:\Program Files\MySQL\MySQL Server 5.1\lib\opt" à répertoire de bibliothèque supplémentaire.

J'ai toujours les mêmes erreurs. Je ne sais plus quoi faire. Faut t'il que j'ajoute des .lib??
Quelqu'un peu m'aider?
guadock est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 23h36   #3
Invité de passage
 
Homme
Inscription : mars 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2011
Messages : 20
Points : 2
Points : 2
J'ai vue sur d'autre forum qu'il fallait utiliser extern 'C' pour utiliser les fonction C de la librairie avec du C++.
Mais je ne sais pas du tout comment utiliser cette fonctionnalité.
Si quelqu'un peu m'expliquer ou me dire ou trouver des exemples ça m'avancerais beaucoup.

Merci :-)
guadock est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 23h49   #4
Invité de passage
 
Homme
Inscription : mars 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2011
Messages : 20
Points : 2
Points : 2
Bon ce n'est toujours pas à cause de cela.
J'ai mis :
Code :
1
2
3
extern "C"{
	#include "mysql.h"
}
et toujours les mêmes erreurs à la compilation:

Citation:
1>BDInterface.obj : error LNK2019: symbole externe non résolu _mysql_error@4 référencé dans la fonction "public: void __thiscall BDInterface::ReadMyData(void)" (?ReadMyData@BDInterface@@QAEXXZ)
1>BDInterface.obj : error LNK2019: symbole externe non résolu _mysql_real_connect@32 référencé dans la fonction "public: void __thiscall BDInterface::ReadMyData(void)" (?ReadMyData@BDInterface@@QAEXXZ)
1>BDInterface.obj : error LNK2019: symbole externe non résolu _mysql_init@4 référencé dans la fonction "public: void __thiscall BDInterface::ReadMyData(void)" (?ReadMyData@BDInterface@@QAEXXZ)
1>C:\Users\blot\Desktop\SSP\Debug\SSP.exe : fatal error LNK1120: 3 externes non résolus
Je ne sais plus quoi faire...
guadock est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h45.


 
 
 
 
Partenaires

Hébergement Web