Tout fonctionne, sauf cette erreur de symboles non définis:Symboles non définis. ld: symbole non trouvé
bash-3.2$ make
g++ -Wall -g solvePlanningProblem.o Position.o AStarNode.o PRM.o PRMNode.o Worl.o SingleCircleWorld.o Myworld.o RECTANGLE.o CIRCLE.o -o solvePlanningProblem
`Undefined symbols:
"Obstacle::~Obstacle()", referenced from:
Myworld::~Myworld()in Myworld.o
Myworld::~Myworld()in Myworld.o
Myworld::~Myworld()in Myworld.o
"RECTANGLE::RECTANGLE()", referenced from:
Myworld::readObstacles(std::basic_istream<char, std::char_traits<char> >&
in Myworld.o
"CIRCLE::CIRCLE()", referenced from:
Myworld::readObstacles(std::basic_istream<char, std::char_traits<char> >&
in Myworld.o
"typeinfo for Obstacle", referenced from:
typeinfo for RECTANGLEin RECTANGLE.o
typeinfo for CIRCLEin CIRCLE.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [solvePlanningProblem] Error 1`
Il est une telle erreur étrange. Quelque chose ne va pas avec le constructeur ou le destructeur? Tout conseil vous aidera.
Après avoir ajouté {} après tous les constructeurs et destructeurs que l'erreur a été réduit à :
Undefined symbols:
"vtable for Obstacle", referenced from:
Obstacle::Obstacle()in Myworld.o
"typeinfo for Obstacle", referenced from:
typeinfo for RECTANGLEin RECTANGLE.o
typeinfo for CIRCLEin CIRCLE.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Il est difficile d'y répondre sans voir de code. Avez-vous fourni des implémentations pour ces destructeurs, etc.? –
quelle est la mise en œuvre du desctructor? Je n'ai rien fait dans le ~ Obstacle(); – Lisa
Je pense qu'il essaye de compiler quelque chose qui embarque une bibliothèque personnalisée .. et gcc ne la trouve pas (ou la construit) pour une raison quelconque .. et la construction ne se casse pas au moment approprié. –