#1 Le 16/07/2008, à 21:24
- Roraito
[Résolu] Problème Compilation en C
Bonsoir, je n'arrive pas à compiler des programmes en C avec gcc.
Voilà le retour de ma commande : gcc 02L02.c -o 02L02.exe :
/tmp/ccSNzKQA.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld a retourné 1 code d'état d'exécution
Dernière modification par Roraito (Le 18/07/2008, à 14:42)
Hors ligne
#2 Le 16/07/2008, à 22:15
- mistyrouge
Re : [Résolu] Problème Compilation en C
salut
Je ne suis pas un as de la programmation mais il me semble que la commande est :
gcc -o 02L02.c 02L02.exe
Sauter à 10.000 mètres n'est pas dangereux. Toucher le sol à 0 m l'est beaucoup plus.
mistyrouge - Dorian JAMINAIS (s.a.m.)
Hors ligne
#3 Le 16/07/2008, à 22:23
- Zapan
Re : [Résolu] Problème Compilation en C
Bonsoir
salut
Je ne suis pas un as de la programmation mais il me semble que la commande est :gcc -o 02L02.c 02L02.exe
Non pas du tout. La première commande est bien la bonne.
Publie le .c que tu essayes de compiler, ça sera plus simple de t'aider.
PS : Sous linux les fichier "executables" n'ont pas besoin de se terminer en .exe
Hors ligne
#4 Le 16/07/2008, à 22:51
- Link31
Re : [Résolu] Problème Compilation en C
Moi il me semble que la bonne commande est :
g++ 02L02.c -o 02L02.exe
Dernière modification par Link31 (Le 17/07/2008, à 01:30)
Hors ligne
#5 Le 17/07/2008, à 00:59
- _Crashforburn_
Re : [Résolu] Problème Compilation en C
-o indique le fichier de sortie, à moins que tu nommes tes sources en .exe et tes executables en .c, la commande est gcc 02L02.c -o 02L02.exe
#6 Le 17/07/2008, à 01:30
- Link31
Re : [Résolu] Problème Compilation en C
Hmm, oui bien sûr (ça m'apprendra à copier-coller n'importe quoi).
Enfin, le problème venait tout simplement de l'utilisation de gcc à la place de g++.
Hors ligne
#7 Le 17/07/2008, à 08:44
- Roraito
Re : [Résolu] Problème Compilation en C
Voici le fichier le plus simple que je cherche à compiler :
#include <stdio.h>
main()
{
printf ("Hello, world. Test de compilation sous Linux. \n");
return 0;
}
#########################################
Les dièses ne font pas partie du programme. Par contre sous Visual C++ la compilation fonctionne. Les programmes sont en langage C et non C++.
Hors ligne
#8 Le 17/07/2008, à 08:56
- champoul
Re : [Résolu] Problème Compilation en C
Faudrait peut être voir à typer ta fonction main déjà
Hors ligne
#9 Le 17/07/2008, à 09:27
- Roraito
Re : [Résolu] Problème Compilation en C
Il n'y a pas besoin de la typer, mais c'est vrai je n'y est pas penser. Sous Visual C++ cela fonctionne comme ça.
Hors ligne
#10 Le 17/07/2008, à 09:40
- champoul
Re : [Résolu] Problème Compilation en C
Comment ça il y a pas besoin de la typer ?
Même si certains compilateurs permettent le typage implicite ( super intelligent soit dit en passant, il y a pas assez de moyens de foutre le bordel dans un code source C en codant comme un pied déjà.. ) paye tes bonnes habitudes quoi
Hors ligne
#11 Le 17/07/2008, à 09:47
- Roraito
Re : [Résolu] Problème Compilation en C
Pourquoi au moment de la compilation je n'ai eu aucun message signalant qu'une déclaration était manquante ??? Mais tu as sans doute raison je vais essayer.
Hors ligne
#12 Le 17/07/2008, à 10:28
- Dark-Sham
Re : [Résolu] Problème Compilation en C
Il faut préciser le type de sortie de main() :
int main()
{
EDIT : owned...:rolleyes: je devrais lire avant de poster Moi, gcc refuse toute compilation si je ne mets pas le int avant main().
Dernière modification par Dark-Sham (Le 17/07/2008, à 10:29)
Script de sauvegarde/restauration APT
Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe
Hors ligne
#13 Le 17/07/2008, à 10:36
- Roraito
Re : [Résolu] Problème Compilation en C
Ah c'est bizarre, je viens de compilé ce même programme sous KDE Debian et aucun problème (Même avec omission du type de main) Le type main je ne l'avait pas mis car je suis en train d'apprendre le C sur un livre qui ne l'avait pas déclaré dans leurs programmes.
Apparement la déclaration de main n'est pas obligatoire !
main() retourne explicitement un int, il n'y a que deux prototypes de main() valides :
int main(void)
et
int main(int argc, char **argv)
(http://forum.hardware.fr/hfr/Programmation/C/declaration-variable-sujet_111098_1.htm)
Hors ligne
#14 Le 17/07/2008, à 10:47
- champoul
Re : [Résolu] Problème Compilation en C
Premier conseil, jette vite ce livre par la fenêtre ! Qu'un tuto sur internet laisse ça à la limite, mais dans un livre Ça démontre le sérieux de l'auteur
Ensuite t'es bizarre parce que d'un côté tu veux respecter à fond la standardisation avec tes "il n'y a que 2 types de prototypes possibles" et d'un autre côté tu l'écris comme un porc sans type ni void pour paramètre
Hors ligne
#15 Le 17/07/2008, à 11:49
- elekaj34
Re : [Résolu] Problème Compilation en C
Bonjour,
Je saute sur le sujet, car j'ai un problème similaire.
Quand j'essaye de compiler mon programme (de calcul des coordonnées équatoriale du Soleil pour ceux que cela intéressent) avec la commande :
gcc -Wall -o possol possol.c -lm
j'obtiens ceci !!!!
/tmp/ccOTXzHj.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld a retourné 1 code d'état d'exécution
J'ai essayé de compiler avec
gcc -Wall -o possol -c possol.c -lm
même résultat !
Je fais appel à -lm car j'utilise les librairies mathématiques (nécessaires pour les cos, sin etc...)
Dernière modification par elekaj34 (Le 17/07/2008, à 11:50)
Alain - Linux Ubuntu 18.04 LTS 64bits
Lumières d'Ici ... et d'Ailleurs
Hors ligne
#16 Le 17/07/2008, à 12:02
- telliam
Re : [Résolu] Problème Compilation en C
comme cela a été mis précédemment, il faut utiliser g++ pour résoudre cette irrésolu. Autre possibilité que je n'ai pas essayé tu peux rajouter -lstdc++.
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#17 Le 17/07/2008, à 12:12
- telliam
Re : [Résolu] Problème Compilation en C
champoul, le type par défaut en C est le int donc pas d'obligation à mettre le int même si c'est effectivement plus propre.
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#18 Le 17/07/2008, à 12:31
- champoul
Re : [Résolu] Problème Compilation en C
Je sais bien, j'ai pas dis le contraire, ça n'en reste pas moins bizarre de préconiser ça dans un bouquin pour apprendre le C
Hors ligne
#19 Le 17/07/2008, à 12:34
- telliam
Re : [Résolu] Problème Compilation en C
tout a fait.
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#20 Le 17/07/2008, à 14:13
- nicolas.sitbon
Re : [Résolu] Problème Compilation en C
champoul, le type par défaut en C est le int donc pas d'obligation à mettre le int même si c'est effectivement plus propre.
C'est fini depuis 1999 ça :
— remove implicit int
Hors ligne
#21 Le 17/07/2008, à 14:16
- nicolas.sitbon
Re : [Résolu] Problème Compilation en C
Voici le fichier le plus simple que je cherche à compiler :
#include <stdio.h>
int main (void)
{
puts ("Hello, world. Test de compilation sous Linux. ");
return 0;
}
Hors ligne
#22 Le 17/07/2008, à 14:53
- Roraito
Re : [Résolu] Problème Compilation en C
Tu t'emballes un peu champoul ! Je l'écris comme un porc ? Bon ok peut-être, mais pourtant c'est un livre sérieux (Du moins en apparence.) Je mettrais une déclaration à partir de maintenant.:| .
Hors ligne
#23 Le 17/07/2008, à 15:00
- nicolas.sitbon
Re : [Résolu] Problème Compilation en C
Tu t'emballes un peu champoul ! Je l'écris comme un porc ? Bon ok peut-être, mais pourtant c'est un livre sérieux (Du moins en apparence.) Je mettrais une déclaration à partir de maintenant.:| .
c'est quoi ce livre?
Hors ligne
#24 Le 17/07/2008, à 15:01
- Link31
Re : [Résolu] Problème Compilation en C
Roraito> g++ 02L02.c -o 02L02
Ton code 02L02.c est du C++. L'extension .c ne veut rien dire, et gcc ne s'amuserait pas à appeler l'ABI C++ dans ton code juste pour le plaisir.
Le "test de compilation sous Linux" est bien du C et devrait compiler avec "gcc fichier.c -o programme", même s'il devrait afficher un warning au sujet du main().
Hors ligne
#25 Le 17/07/2008, à 19:45
- Roraito
Re : [Résolu] Problème Compilation en C
OK D'accord. Je suis en train de compiler à merveille avec la commande g++. Mais bon je ne comprend pas tout, mon livre se nomme "Le Langage C" par Tony Zhang (Kit Campus Développeur).
Hors ligne