|
|
|
|
Salut,
Essaies de positionner les lib à la fin de la ligne de compil gcc -o executable $(OBJ) -lnom_de_lib A+, crabs ..., I think Slackware sounds better than 'Microsoft,' -- Patrick Volkerding - founder and maintainer of Slackware
|
Le mieux c'est que tu postes ton makefile et les noms de quelques fonctions
qui ne fonctionnent pas. ..., I think Slackware sounds better than 'Microsoft,' -- Patrick Volkerding - founder and maintainer of Slackware |
Bonjour,
J'utilise un cross-compiler sour Cygwin pour compiler des test écrits en C. Ces tests seront mis en mémoire virtuelle pour simuler un processeur LEON2. Malheureusement lors de la compilation, des erreurs du type "undefined reference to ..." vers des fonctions écrites dans d'autres fichiers (ces fichiers en question sont tous dans le même dossier). En tapant la ligne /opt/rtems-4.6/bin/sparc-rtems-gcc.exe -g leon_full_test.c -o leon_full_test sous Cygwin Les erreurs précités s'affichent et je ne comprends pas trop pourquoi elle apparaissent. De plus, je sais que toutes ces fonctions écrites dans leurs fichiers respectifs utilisent les mêmes fichiers include donc ma première idée a été de rajouter les intitulés de toutes ces fonctions dans l'include et dans le main principal (leon_full_test.c) rajouté l'intitulé de ces fonctions précèdés par extern pour dire que ces fonctions sont implémentées dans des fichiers externes. Ca marche toujours pas. pourtant en faisant la même chose avec un autre projet, cette méthode marche sans problème. Si quelqu'un a une solution, faites moi signe Merci, |
Bonjour,
La commande de compilation : /opt/rtems-4.6/bin/sparc-rtems-gcc.exe -g leon_full_test.c -o leon_full_test sous Cygwin ne mentionne qu'un seul fichier à compiler (leon_full_test.c). De ce fait, il n'y a pas de raison que "toutes ces fonctions écrites dans leurs fichiers respectifs" soient compilés. A priori, il faut indiquer tous les fichiers concernés dans la commande. NB il est d'usage de faire des compilations séparées de chaque fichier (mettre l'option -c, ne pas mettre le -o), puis de "linker" l'ensemble (mettre la liste des .o avec une option -o). Manu |
Résultats pour compilation gcc undefined reference to ...
Résultats pour compilation gcc undefined reference to ...
Résultats pour compilation gcc undefined reference to ...
Résultats pour compilation gcc undefined reference to ...
Résultats pour compilation gcc undefined reference to ...
Résultats pour compilation gcc undefined reference to ...