G++ sous linux

Résolu/Fermé
jfrancois57 - 21 nov. 2003 à 22:46
 real - 29 déc. 2015 à 18:58
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
A voir également:

5 réponses

Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 29
19 nov. 2007 à 14:20
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)
19
Merci !!!
0
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.
2
wormlord Messages postés 617 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 25 avril 2006 54
22 nov. 2003 à 15:22
Salut!!

Il faut mettre #include <iostream.h>

tu n'as pas mis le .h

@+
2
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.
0
bandes de mauvais!
0
gros plow
0
pourquoi #include est inférieur à iostream ?
0
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.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
c'est parce que tu as un .o en trop au link...
1
woaw une expertise comme ca ca se paye
0
lol
0