Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

mistyrouge a écrit :

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 wink

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à wink

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 roll

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 tongue 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 neutral Ça démontre le sérieux de l'auteur hmm

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  big_smile

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 wink

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

telliam a écrit :

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 :

norme c99 a écrit :

— remove implicit int

Hors ligne

#21 Le 17/07/2008, à 14:16

nicolas.sitbon

Re : [Résolu] Problème Compilation en C

Roraito a écrit :

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

Roraito a écrit :

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