Compilation de plusieurs fichiers (Qt Creator, Windows)
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 :
Code:
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 mainwindow.cpp :
Code:
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 main.h :
Code:
1 2 3
|
#include "../Graph/mainwindow.h"
... |
- dans le mainwindow.h :
Code:
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 ) ;
...
}; |
- dans le Z0.pro (Z0 est le nom du projet)
Code:
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 |
Tant que je n'avais que les fichiers mainwindow.h et mainwindow.cpp, tout fonctionnait.
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.