Bonjour à tous
j'essai de compiler un projet et voici ce que le compilateur me retourne
Voici mes differents fichiers :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 main.o: In function `main': main.cpp:(.text+0x28): undefined reference to `A* Engine::element<A>()' collect2: ld returned 1 exit status
main.cpp
engine.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include <engine.h> #include <a.h> int main(int argc, char *argv[]) { Engine engine; engine.element<A>(); return 0; }
engine.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include "engine.h" Engine::Engine() {} Engine::~Engine() {} template<class T> T* Engine::element() { }
a.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 #ifndef ENGINE_H #define ENGINE_H #include <QList> class Engine { public: Engine(); ~Engine(); template<class T> QList < T* > element(); }; #endif
J'ai simplifié le code de mon projet (assez gros à la base) pour avoir le problème avec le moins de code possible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #ifndef A_H #define A_H class A { public: A() {}; ~A() {}; }; #endif
Merci d'avance.
Partager