Bonjour,

je sollicite votre aide sur un problème que j'ai sur mon projet de stage.

Je souhaite connecter une base de données sql server a mon projet qt et j'ai toujours les mêmes erreurs de lien avec la librairie QTSqld.lib

J'aimerais savoir quel est le problème (code, paramètres des propriétés du projet ...)

Merci de votre aide.

le .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
 
#include "bdd.h"
#include <QMessageBox>
#include <QtSql>
 
bdd::bdd(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
	ui.setupUi(this);
}
 
bdd::~bdd()
{
 
}
 
void bdd::fonction1()
{
	QMessageBox msg;
	QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setDatabaseName("mabase");
    db.setPassword("monmotdepasse");
    db.setUserName("monutilisateur");
 
    if(!db.open())
	{
		msg.setText("echec :(");msg.exec();return;
	}
		msg.setText("cnx ok :)");msg.exec();return;
}
le .h

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
 
#ifndef BDD_H
#define BDD_H
 
#include <QtGui/QMainWindow>
#include "ui_bdd.h"
 
class bdd : public QMainWindow
{
    Q_OBJECT
 
public:
    bdd(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~bdd();
	void bdd::fonction1();
 
private:
    Ui::bddClass ui;
};
 
#endif // BDD_H
le .pro

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
# -----------------------------------------------------------
# This file is generated by the Qt Visual Studio Integration.
# -----------------------------------------------------------
 
# This is a reminder that you are using a generated .pro file.
# Remove it when you are finished editing this file.
message("You are running qmake on a generated .pro file. This may not work!")
 
 
TEMPLATE = app
TARGET = bdd
DESTDIR = ../debug
QT += sql
CONFIG += debug
INCLUDEPATH += ./GeneratedFiles \
    ./GeneratedFiles/$(ConfigurationName) \
    .
LIBS += .\gdi32.lib \
    .\comdlg32.lib \
    .\oleaut32.lib \
    .\imm32.lib \
    .\winmm.lib \
    .\winspool.lib \
    .\ws2_32.lib \
    .\ole32.lib \
    .\user32.lib \
    .\msimg32.lib \
    .\shell32.lib \
    .\kernel32.lib \
    .\uuid.lib \
    .\advapi32.lib
DEPENDPATH += .
MOC_DIR += ./GeneratedFiles/debug
OBJECTS_DIR += debug
UI_DIR += ./GeneratedFiles
 
#Include file(s)
include(bdd.pri)
 
#Windows resource file
win32:RC_FILE = bdd.rc

et voici la liste des erreurs de liens (sortie de génération de projet):

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
51
52
53
54
55
56
57
1>------ Début de la génération*: Projet*: bdd, Configuration*: Debug Win32 ------
1>Compilation en cours...
1>bdd.cpp
1>main.cpp
1>Génération de code en cours...
1>Compilation en cours...
1>moc_bdd.cpp
1>Édition des liens en cours...
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_fetch_field@4 référencé dans la fonction "public: bool __thiscall QMYSQLResultPrivate::bindInValues(void)" (?bindInValues@QMYSQLResultPrivate@@QAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_num_fields@4 référencé dans la fonction "public: bool __thiscall QMYSQLResultPrivate::bindInValues(void)" (?bindInValues@QMYSQLResultPrivate@@QAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_result_metadata@4 référencé dans la fonction "public: bool __thiscall QMYSQLResultPrivate::bindInValues(void)" (?bindInValues@QMYSQLResultPrivate@@QAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_close@4 référencé dans la fonction "protected: void __thiscall QMYSQLResult::cleanup(void)" (?cleanup@QMYSQLResult@@IAEXXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_free_result@4 référencé dans la fonction "protected: void __thiscall QMYSQLResult::cleanup(void)" (?cleanup@QMYSQLResult@@IAEXXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_fetch_row@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch@QMYSQLResult@@MAE_NH@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_data_seek@12 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch@QMYSQLResult@@MAE_NH@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_fetch@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch@QMYSQLResult@@MAE_NH@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_data_seek@12 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch@QMYSQLResult@@MAE_NH@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_errno@4 référencé dans la fonction "class QSqlError __cdecl qMakeStmtError(class QString const &,enum QSqlError::ErrorType,struct st_mysql_stmt *)" (?qMakeStmtError@@YA?AVQSqlError@@ABVQString@@W4ErrorType@1@PAUst_mysql_stmt@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_error@4 référencé dans la fonction "class QSqlError __cdecl qMakeStmtError(class QString const &,enum QSqlError::ErrorType,struct st_mysql_stmt *)" (?qMakeStmtError@@YA?AVQSqlError@@ABVQString@@W4ErrorType@1@PAUst_mysql_stmt@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_num_rows@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::fetchLast(void)" (?fetchLast@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_num_rows@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::fetchLast(void)" (?fetchLast@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_fetch_lengths@4 référencé dans la fonction "protected: virtual class QVariant __thiscall QMYSQLResult::data(int)" (?data@QMYSQLResult@@MAE?AVQVariant@@H@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_fetch_field_direct@8 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::reset(class QString const &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_affected_rows@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::reset(class QString const &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_field_count@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::reset(class QString const &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_store_result@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::reset(class QString const &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_real_query@12 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::reset(class QString const &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_errno@4 référencé dans la fonction "class QSqlError __cdecl qMakeError(class QString const &,enum QSqlError::ErrorType,class QMYSQLDriverPrivate const *)" (?qMakeError@@YA?AVQSqlError@@ABVQString@@W4ErrorType@1@PBVQMYSQLDriverPrivate@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_error@4 référencé dans la fonction "class QSqlError __cdecl qMakeError(class QString const &,enum QSqlError::ErrorType,class QMYSQLDriverPrivate const *)" (?qMakeError@@YA?AVQSqlError@@ABVQString@@W4ErrorType@1@PBVQMYSQLDriverPrivate@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_insert_id@4 référencé dans la fonction "protected: virtual class QVariant __thiscall QMYSQLResult::lastInsertId(void)const " (?lastInsertId@QMYSQLResult@@MBE?AVQVariant@@XZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_insert_id@4 référencé dans la fonction "protected: virtual class QVariant __thiscall QMYSQLResult::lastInsertId(void)const " (?lastInsertId@QMYSQLResult@@MBE?AVQVariant@@XZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_field_seek@8 référencé dans la fonction "protected: virtual class QSqlRecord __thiscall QMYSQLResult::record(void)const " (?record@QMYSQLResult@@MBE?AVQSqlRecord@@XZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_param_count@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::prepare(class QString const &)" (?prepare@QMYSQLResult@@MAE_NABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_prepare@12 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::prepare(class QString const &)" (?prepare@QMYSQLResult@@MAE_NABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_init@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::prepare(class QString const &)" (?prepare@QMYSQLResult@@MAE_NABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_store_result@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_attr_set@12 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_bind_result@8 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_affected_rows@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_execute@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_bind_param@8 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_stmt_reset@4 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYSQLResult@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_character_set_name@4 référencé dans la fonction "class QTextCodec * __cdecl codec(struct st_mysql *)" (?codec@@YAPAVQTextCodec@@PAUst_mysql@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_get_server_version@4 référencé dans la fonction "public: virtual bool __thiscall QMYSQLDriver::open(class QString const &,class QString const &,class QString const &,class QString const &,int,class QString const &)" (?open@QMYSQLDriver@@UAE_NABVQString@@000H0@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_get_client_version@0 référencé dans la fonction "public: virtual bool __thiscall QMYSQLDriver::open(class QString const &,class QString const &,class QString const &,class QString const &,int,class QString const &)" (?open@QMYSQLDriver@@UAE_NABVQString@@000H0@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_close@4 référencé dans la fonction "public: virtual bool __thiscall QMYSQLDriver::open(class QString const &,class QString const &,class QString const &,class QString const &,int,class QString const &)" (?open@QMYSQLDriver@@UAE_NABVQString@@000H0@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_select_db@8 référencé dans la fonction "public: virtual bool __thiscall QMYSQLDriver::open(class QString const &,class QString const &,class QString const &,class QString const &,int,class QString const &)" (?open@QMYSQLDriver@@UAE_NABVQString@@000H0@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_real_connect@32 référencé dans la fonction "public: virtual bool __thiscall QMYSQLDriver::open(class QString const &,class QString const &,class QString const &,class QString const &,int,class QString const &)" (?open@QMYSQLDriver@@UAE_NABVQString@@000H0@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_init@4 référencé dans la fonction "public: virtual bool __thiscall QMYSQLDriver::open(class QString const &,class QString const &,class QString const &,class QString const &,int,class QString const &)" (?open@QMYSQLDriver@@UAE_NABVQString@@000H0@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_list_tables@8 référencé dans la fonction "public: virtual class QStringList __thiscall QMYSQLDriver::tables(enum QSql::TableType)const " (?tables@QMYSQLDriver@@UBE?AVQStringList@@W4TableType@QSql@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_list_fields@12 référencé dans la fonction "public: virtual class QSqlRecord __thiscall QMYSQLDriver::record(class QString const &)const " (?record@QMYSQLDriver@@UBE?AVQSqlRecord@@ABVQString@@@Z)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_query@8 référencé dans la fonction "protected: virtual bool __thiscall QMYSQLDriver::beginTransaction(void)" (?beginTransaction@QMYSQLDriver@@MAE_NXZ)
1>QtSqld.lib(qsql_mysql.obj) : error LNK2019: symbole externe non résolu _mysql_escape_string@12 référencé dans la fonction "public: virtual class QString __thiscall QMYSQLDriver::formatValue(class QSqlField const &,bool)const " (?formatValue@QMYSQLDriver@@UBE?AVQString@@ABVQSqlField@@_N@Z)
1>C:\Documents and Settings\XROLLAND\Mes documents\Visual Studio 2005\Projects\bdd\Debug\bdd.exe : fatal error LNK1120: 45 externes non résolus
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\XROLLAND\Mes documents\Visual Studio 2005\Projects\bdd\bdd\Debug\BuildLog.htm"
1>bdd - 46 erreur(s), 0 avertissement(s)
========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========