Rechercher : dans
Par :

G++ sous linux

Dernière réponse le 19 nov 2007 à 14:20:29 jfrancois57, le 21 nov 2003 à 22:46:37 
 Signaler ce message aux modérateurs

J ai une petite question concernant g++

toto.cc

Code:



#include <iostream>
 
using namespace std;  le makefile
 
 int main()
 {
   char buffy[128];
 
   cout << "Hello World!\n";
   cin >> buffy;
 }
 




sur la console j'ai

Code:



[jean@ EssaiC++Project]$ gcc toto.cc
toto.cc:11:4: warning: no newline at end of file
/tmp/cccVL0xC.o(.text+0x1c): In function `main':
: undefined reference to `std::cout'
/tmp/cccVL0xC.o(.text+0x21): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/cccVL0xC.o(.text+0x33): In function `main':
: undefined reference to `std::cin'
/tmp/cccVL0xC.o(.text+0x38): In function `main':
: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, char*)'
/tmp/cccVL0xC.o(.text+0x64): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/cccVL0xC.o(.text+0x93): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/cccVL0xC.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
[jean@ EssaiC++Project]$



je ne comprends pas bien les erreurs.
Merci beaucoup pour votre aide

Meilleures réponses pour « g++ sous linux » dans :
Choisir une distribution Linux VoirChoisir sa distribution GNU/Linux est loin d'être évident ! Surtout quand on débute sur la banquise ;-) Ceci n'a pas la prétention de promouvoir une distribution au détriment des autres. C'est plutôt une liste de solutions classées par...
[Linux] Compresser/Décompresser un fichier ZIP VoirLes fichiers ZIP sont généralement destinés à un usage sous Microsoft Windows. Le format de compression privilégié sous Linux est GZip (.gz) ou le format Tarball (.tar.gz). Il est néanmoins possible de compresser et décompresser des fichiers ZIP à...
Configurer le wifi sous Linux VoirWiFi sous Linux Première étape : diagnostic Deuxième étape : la carte n'est pas reconnue Troisième étape : configurer la carte En WEP En WPA Quatrième étape : se connecter au point d'accès Toujours en difficulté ? Ce tutoriel...
Télécharger Broadcom Ethernet NIC NetLink Driver pour Linux VoirLes drivers Broadcom NetLink BCM57xx/NetXtreme BCM57xx WHQL fonctionnent avec les chipsets suivants : BCM 5781, BCM 5786, BCM 5787, BCM 5788, BCM 5789 Ces pilotes fonctionnent sur le système Linux (tg3)
Linux - L'installation de logiciels VoirLes différents types d'archives Basiquement il existe plusieurs façons de récupérer une application fonctionnant sous Linux : Sous forme de paquetage RPM. Il s'agit d'un fichier portant l'extension .rpm permettant une installation automatique,...
Linux - L'éditeur Vi VoirIntroduction à Vi Vi est un des éditeurs de texte les plus populaires sous les systèmes de type Unix (avec Emacs et pico) malgré son ergonomie très limitée. Sous Linux il existe une version libre de Vi appelée Vim (Vi Improved). Vi (prononcez...
Commandes Linux VoirTableau des principales commandes Linux Commande Description équivalent DOS ls liste le contenu d'un répertoire dir cd change de répertoire cd cd .. répertoire parent cd.. mkdir crée un nouveau...

1

Bob, le 21 nov 2003 à 23:27:21

Apprend l'anglais tu verras qu'on ne pose plus de question ou presque sur des forums. Essaye ça:

#include <iostream>

using namespace std; // tu n'utiliseras que des noms de fonction compris dans la classe standard

int main()
{
char buffy[128];
cout << "Hello World!\n"; // ceci est un commentaire d'une ligne
cin >> buffy;
return 0; // trés important quand ta fonction "main()" de type "int"
}

normalement ça devrait marcher mais pour la programmation poste dans le forum réservé c'est préférable même si c'est du GNU/Linux le sujet clé est bien le langage C.

Répondre à Bob

2

Bob, le 21 nov 2003 à 23:43:19

Sans oublier ".cpp" pour C++ ".c" pour C ce sont les extensions les plus utilisées en pratique et mieux reconnues par les compilos que ".cc" assez exotique.

Répondre à Bob

3

wormlord, le 22 nov 2003 à 15:22:22

Salut!!

Il faut mettre #include <iostream.h>

tu n'as pas mis le .h

@+

Répondre à wormlord

4

Bob, le 22 nov 2003 à 15:56:02

Ce n'est pas une erreur de ma part c'est bien l'en-tête <iostream> telle y est définie dans la norme contrairement à la bibliothèque C avec par exemple <stdio.h> contre <cstdio>. Fais une recherche de ces en-têtes tu verras bien qu'elles existent.

Répondre à Bob

5

 Carri€, le 19 nov 2007 à 14:20:29
  • +3

Bonjour,
j'ai eu le même probleme que JFrancois57 (même erreur a la compilation). C'était parce-que j'utilisais la commande
"gcc test.cpp " (gcc pour le C)
au lieu de
g++ test.cpp (g++ pour le C++)
Voili voilou! Je pense que pourra aider pas mal de personnes ;o)

Répondre à Carri€