Bonjour,
Je travaille en C++ avec Qt Creator sous Windows et j'essaie de compiler plusieurs fichiers.
Voici une partie du code :
- dans le main.cpp :
- dans le mainwindow.cpp :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 #include "../Graph/mainwindow.h" #include "main.h" ... void toto() { List<real> tata = List<real>(3); cout << tata[0] << tata[1] << tata[2] << endl; }
- dans le main.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 #include "ui_mainwindow.h" #include "mainwindow.h" ... template <class T> List<T>::List(ent aSize) { assert(aSize >= 0); _size = aSize; if (_size) _list = new T[aSize]; else _list = (T*)0; for (ent i = 0 ; i < _size ; ++i) _list[i] = (T)0; } ...
- dans le mainwindow.h :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 #include "../Graph/mainwindow.h" ...
- dans le Z0.pro (Z0 est le nom du 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 // Aucun #include perso ... typedef long long int ent; typedef long double real; template <class T> class List { public : T* _list; ent _size; public : List (ent aSize = 0 ) ; ... };
Tant que je n'avais que les fichiers mainwindow.h et mainwindow.cpp, tout fonctionnait.
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 #------------------------------------------------- # # Project created by QtCreator 2024-07-09T11:10:48 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = Z0 TEMPLATE = app SOURCES += main.cpp\ ../Graph/mainwindow.cpp HEADERS += main.h\ ../Graph/mainwindow.h FORMS += mainwindow.ui
Mais depuis que je cr�e plusieurs fichiers (je ne sais pas vraiment le faire) et que je fais dans un autre r�pertoire (je les r�f�rence alors par ../Graph/ avant maindow.h et avant mainwindow.cpp), �a ne marche pas. Je pr�cise que les mots sont quand m�me reconnus au moment o� je tape le code puisqu'ils s'affichent avec une couleur diff�rente.
Le message d'erreur de compilation est :
<<undefined reference to 'List<long double>::List(long long)'>>
Sauriez-vous m'aider s'il vous pla�t ?
Merci d'avance.
Partager