Bonjour à tous.

Pour un projet universitaire, je dois coder une classe permettant de se connecter à une base de données MySQL, j'utilise Code::Blocks sous ubuntu. Pour ce faire je me suis basé sur http://dev.mysql.com/tech-resources/...-cpp.html#test décrivant toutes les étapes pour créer une connexion puis effectuer des requêtes sur une BDD MySQL. Le problème est une erreur de compilation lors de la création de la connexion.

A la ligne 9 du fichier source j'ai cette erreur "undefined reference to `get_driver_instance'".

J'ai regardé dans le header driver.h, cette fonction est bien présente, je me demande si je l'utilise correctement.


Voici le fichier header
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
43
44
45
46
47
48
49
50
 
#ifndef CONNECTION_H_INCLUDED
#define CONNECTION_H_INCLUDED
 
#include <iostream>
#include <sstream>
#include <memory>
#include <string>
#include <stdexcept>
 
 
#include "mysql_connection.h"
#include "mysql_driver.h"
 
#include </usr/include/cppconn/driver.h>
#include </usr/include/cppconn/connection.h>
#include </usr/include/cppconn/statement.h>
#include </usr/include/cppconn/prepared_statement.h>
#include </usr/include/cppconn/resultset.h>
#include </usr/include/cppconn/metadata.h>
#include </usr/include/cppconn/resultset_metadata.h>
#include </usr/include/cppconn/exception.h>
#include </usr/include/cppconn/warning.h>
 
 
#include "ExceptionsTechnique.h"
 
#define DBHOST "tcp://127.0.0.1:3306"
#define USER "root"
#define PASSWORD "admin"
#define DATABASE "test"
 
using namespace std;
using namespace sql;
 
 
class ConnectionMath
{
    private:
        Driver *driver;
        Connection	*con;
 
    public:
        ~ConnectionMath();
        ConnectionMath() throw (ExceptionsTechnique);
        sql::Connection* getConnection() throw (ExceptionsTechnique);
 
};
 
#endif
Et le fichier source
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
#include "ConnectionMath.h"
 
//#include </usr/include/cppconn/driver.h>
 
ConnectionMath::ConnectionMath() throw (ExceptionsTechnique)
{
    try
    {
        this->driver = get_driver_instance();
        this->con = (this->driver) -> connect(DBHOST, USER, PASSWORD);
        con -> setSchema(DATABASE);
        con->setAutoCommit(0);
 
    }
    catch (sql::SQLException &e)
    {
        throw new ExceptionsTechnique("Erreur de driver",1);
    }
}
 
ConnectionMath::~ConnectionMath()
{
    //Libération de la mémoire
 
}
 
sql::Connection* ConnectionMath::getConnection() throw (ExceptionsTechnique)
{
    return this->con;
}
Pouvez-vous m'aider?
Cordialement,