Bonjour à tous
j'essai de compiler un projet et voici ce que le compilateur me retourne
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
Voici mes differents fichiers :
main.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.cpp
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()
{
}
engine.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
a.h
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
J'ai simplifié le code de mon projet (assez gros à la base) pour avoir le problème avec le moins de code possible.
Merci d'avance.