C compile : collect2: error: ld returned 1 exit status
nali09
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, :)
Voila j'ai la fonction afficher qui réalise l'affichage sur l'écran
afficher.c
et le programme et qui utilise cette fontion
exo1.c
je le compile avec la commande : gcc -Wall -c afficher.c
Aucune erreur, mais ensuite avec : gcc -o afficher afficher.o
J'ai ça et je ne sais pas du tout la faute que j'ai faite...si qq'un pouvait me dire l'erreur ça serait sympa svp...
Voila j'ai la fonction afficher qui réalise l'affichage sur l'écran
afficher.c
#include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <fcntl.h> #include "afficher.h" int afficher (char *f){ int d,nb; char buff[200]; d=open(f,O_RDONLY); if (d==-1){ perror("probleme d'ouverture"); exit(3); } while ((nb=read(d,buff,200))!=0) {write (1,buff,nb); } close(d); return 0; }
et le programme et qui utilise cette fontion
exo1.c
#include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <sys/wait.h> #include "afficher.h" int main(int argc, char *argv[]){ afficher(argv[1]); return 0; }
je le compile avec la commande : gcc -Wall -c afficher.c
Aucune erreur, mais ensuite avec : gcc -o afficher afficher.o
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 0 a un index de symbole 11 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 1 a un index de symbole 12 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 2 a un index de symbole 2 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 3 a un index de symbole 2 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 4 a un index de symbole 11 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 5 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 6 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 7 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 8 a un index de symbole 12 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 9 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 10 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 11 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 12 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 13 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 14 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 15 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 16 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 17 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 18 a un index de symbole 13 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): réadressage 19 a un index de symbole 21 invalide /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): réadressage 0 a un index de symbole 2 invalide /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: dans la fonction « _start »: (.text+0x20): référence indéfinie vers « main » collect2: error: ld returned 1 exit status
J'ai ça et je ne sais pas du tout la faute que j'ai faite...si qq'un pouvait me dire l'erreur ça serait sympa svp...
A voir également:
- Collect2: error: ld returned 1 exit status
- Configure: error: no acceptable c compiler found in $path - Forum Linux / Unix
- Java compilé ou interprété ✓ - Forum Programmation
- Logiciel recompile et compile tar md5 - Forum récupération de données
- Compilateur c++ gratuit - Forum C++
- Problème Compilation Dev-C++ - Forum C++
1 réponse
Bonjour,
Ton main() se situe dans ton fichier exo1.c, et tu ne t'en sers pas lors de la compilation.
Essaie :
Note : pourquoi utiliser write/open ? Ce n'est pas standard... Sauf raison particulière, il vaut mieux utiliser fwrite(), fopen()...
Cdlt,
Google is your friend
Ton main() se situe dans ton fichier exo1.c, et tu ne t'en sers pas lors de la compilation.
Essaie :
gcc -Wall -c afficher.c gcc -Wall -c exo1.c gcc -Wall -o afficher afficher.o exo1.o
Note : pourquoi utiliser write/open ? Ce n'est pas standard... Sauf raison particulière, il vaut mieux utiliser fwrite(), fopen()...
Cdlt,
Google is your friend