A voir également:
- Compilation gcc undefined reference to ...
- Reference pto - Guide
- Gcc n'est pas reconnu en tant que commande interne - Forum C
- Une référence d'objet est requise pour la propriété la méthode ou le champ non statique ✓ - Forum C#
- Le compte reference est actuellement verrouillé ✓ - Forum Windows
- Quelle est la référence de la pièce en ligne 500 pix - Forum Excel
4 réponses
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
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
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
506
31 août 2005 à 18:52
31 août 2005 à 18:52
Salut,
Essaies de positionner les lib à la fin de la ligne de compil
A+, crabs
Essaies de positionner les lib à la fin de la ligne de compil
gcc -o executable $(OBJ) -lnom_de_lib
A+, crabs
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
506
1 sept. 2005 à 18:00
1 sept. 2005 à 18:00
Le mieux c'est que tu postes ton makefile et les noms de quelques fonctions
qui ne fonctionnent pas.
qui ne fonctionnent pas.
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,
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,