Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Compilation gcc undefined reference to ...

Kat, le mercredi 31 août 2005 à 16:43:46
Bonjour,

J'ai un probleme de compilation. Je ne suis pas très douée en makefiles donc je sais que mon problème vient de là.

J'ai écrit un makefile qui me génère des .o correctement:
fichier.o: fichier.c fichier.h
gcc -Wall -03 -c fichier source
Ensuite, pour générer l'exécutable, j'utilise des libs (.a) qui se trouvent dans /usr/lib:
executable: $(OBJ)
-lnom_de_lib -o executable $(OBJ)
Apparement, il trouve les libs puisqu'il ne dit pas le contraire mais me met une "undefined reference to ..." à chaque fois que je fais appel à l'une des fonctions de ces libs.
Auriez-vous une solution? Merci

Kat
Répondre à Kat  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crabs, le mercredi 31 août 2005 à 18:52:25
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
Répondre à crabs

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Kat, le jeudi 1 septembre 2005 à 10:14:25
C'est gentil d'avoir répondu.
J'ai essayé mais malgré tout ça ne marche pas. D'autres idées?
Répondre à Kat

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crabs, le jeudi 1 septembre 2005 à 18:00:02
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
Répondre à crabs

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Seb, le lundi 26 février 2007 à 17:42:11
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,
Répondre à Seb

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Manu, le lundi 26 février 2007 à 18:31:47
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épondre à Manu

Résultats pour compilation gcc undefined reference to ...

Librairie temps (Résolu) Salut, bon alors j ai un petit probleme de compil. Le truc c que je voudrait utiliser des fonction de temps en particulier clock_gettime. A la compilation gcc me dit "undefined reference to 'clock_gettime'" alors bon je sais que c un... www.commentcamarche.net/forum/affich-1462272-librairie-temps
Problème linker avec Dev C++ (Résolu) Bonjour à tous, je viens d'installer Dev C++ et impossible de compiler la moindre application. J'ai à chaque fois la même erreur : la compilation se passe bien, mais j'obtiens une "linker error" : [Linker error] undefined reference to... www.commentcamarche.net/forum/affich-4014250-probleme-linker-avec-dev-c
C probleme de compilation (Résolu) Bonjour, sous mon ubuntu 7.10 avec la commande cc mon programme ne se compile pas et le terminal m'affiche " /tmp/ccVH6BUA.o: In function `visu_frame': Docu5.c:(.text+0x789): undefined reference to `cos' Docu5.c:(.text+0x7bf): undefined... www.commentcamarche.net/forum/affich-7159416-c-probleme-de-compilation

Résultats pour compilation gcc undefined reference to ...

Où trouver un compilateur C/C++ ?Sous linux, le compilateur gcc est installé de base. pour l'utiliser : gcc -o exécutable source(s) Sous windows, là, il faut mettre la main à la pâte et l'installer. Voici une liste de compilateurs C/C++ gratuits pour Windows :... www.commentcamarche.net/faq/sujet-203-ou-trouver-un-compilateur-c-c
Interfacer du code assembleur et du CInterfacer du code assembleur et du C Introduction Appeler du code assembleur écrit dans un fichier source externe Avec Nasm (x86 uniquement) Compilation/Execution sous Linux Avec Gcc (multiplateforme) Introduction Si, à tout hasard,... www.commentcamarche.net/faq/sujet-8257-interfacer-du-code-assembleur-et-du-c
Référencer son site : les moteurs de rechercheVoici quelques autres "trucs" à savoir pour référencer un site. Les moteurs de recherche où il faut à tout prix présenter son site : 1) DMOZ ( www.dmoz.org). Ce site est très important car Google, Yahoo, Lycos, Voila... vont tous rechercher des... www.commentcamarche.net/faq/sujet-217-referencer-son-site-les-moteurs-de-recherche

Résultats pour compilation gcc undefined reference to ...

[C/C++]problème avec GLUT (Résolu)Boujour, j'ai un porblème avec mon porjet C, je programme avec Dev-C++, je débute avec OpenGL, GLU et GLUT et j'ai un problème de Linker... Voilà quelques messages d'erreurs: [Linker error] undefined reference to `glutInit@8'... www.commentcamarche.net/forum/affich-2587310-c-c-probleme-avec-glut
Variable STATIC en C++ (Résolu)Bonjour, Je crée une class en C++ et il renvoie 'undefined reference to personne::nombre' Comment définir la variable static nombre dans sa class. Je ne veux pas définir nombre comme variable globale class personne { int code; // Privé char... www.commentcamarche.net/forum/affich-3675196-variable-static-en-c
Pb de compilation (Résolu)Bonjour, J'ai un problème lorsque je compile on me met: [sotty@localhost 28-03-08]$ gcc -o readFrame readFrame.o readFrame.o: In function `main': readFrame.c:(.text+0x338): undefined reference to `powl' collect2: ld a retourné 1 code... www.commentcamarche.net/forum/affich-6749535-pb-de-compilation

Résultats pour compilation gcc undefined reference to ...

Télécharger Correctif Explorer Généralement lorsque "explorer.exe" plante sur votre ordinateur, vous perdez toutes les applications et bien sur le travail effectué. Ces applications sont encore en cours d'exécution mais non accessibles. Correctif explorer référence toutes vos... www.commentcamarche.net/telecharger/telecharger-34056043-correctif-explorer
Télécharger Java ToolsJava Tools est un IDE très léger pour la création, la compilation, l'exécution et le débogage des applications Java et des applettes. L'outil inclus des points et des clics d'accès aux commandes Java, aux documents, au répertoire et aux fichiers. Il... www.commentcamarche.net/telecharger/telecharger-34056297-java-tools

Résultats pour compilation gcc undefined reference to ...

RéférencementQu'est-ce que le référencement ? On désigne habituellement par le terme « référencement » (en anglais web positionning) l'ensemble des techniques permettant d'améliorer la visibilité d'un site web : indexation (en anglais submission) consistant à... www.commentcamarche.net/contents/web/referencement.php3