CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

compiler du c++ avec gcc ...

jomeo
jomeo
Niveau 13
20 novembre 2004 à 18:08:18

Bonjour à tous. J´essaye depuis une heure de compiler un hello world c++ avec gcc, chose que j´ai très bien réussi à faire avec devc++ ou xlC...

Voici le contenu du fichier test.C que je veux compiler :

  1. include < iostream.h>

int main()
{
cout < < " Hello world" < < endl ;
}

Et voici maintenant ce que cette merde de gcc m´affiche sur la sortie standard d´erreur :

Dans le fichier inclus à partir de / usr/include/c++/3.3/backward/iostream.h:31,
à partir de test.C:1:

/usr/include/c++/3.3/backward/backward_warning.h:3
2:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the < X> header for the < X.h> header for C++ includes, or < sstream> instead of the deprecated header < strstream.h>. To disable this warning use -Wno-deprecated.
/ tmp/ccT5iZAJ.o(.text+0x1b): In function `main´:
: undefined reference to `std::cout´
/ tmp/ccT5iZAJ.o(.text+0x20): 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/ccT5iZAJ.o(.text+0x28): In function `main´:
: undefined reference to `std::basic_ostream<char, std::char_traits<char> > & std::endl<char, std::char_traits<char> > (std::basic_ostream<char, std::char_traits<char> > &)´
/ tmp/ccT5iZAJ.o(.text+0x30): In function `main´:
: undefined reference to `std::basic_ostream<char, std::char_traits<char> > ::operator<<(std::basic_ostream<char, std::char_traits<char> > & ( *)(std::basic_ostream<char, std::char_traits<char> > &))´
/ tmp/ccT5iZAJ.o(.text+0x59): In function `__static_initialization_and_destruction_0(int, int)´:
: undefined reference to `std::ios_base::Init::Init[in-charge]()´
/ tmp/ccT5iZAJ.o(.text+0x8a): In function `__tcf_0´:
: undefined reference to `std::ios_base::Init::~Init [in-charge]()´
/ tmp/ccT5iZAJ.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0´
collect2: ld a retourné 1 code d´état d´exécution

Remarque : je suis sous knoppix. J´ai réussi à compiler du c

stormseedle
stormseedle
Niveau 8
20 novembre 2004 à 18:21:40

je t´explique tu fais " man grx" pr apprendre quel option il faut mettre pr compiler correctement
je ne fais pas de c++ mais ton main doit retourner un entier... Le code de retour d´un prog reussi est 0. donc ecris return 0.
et puis il y a un risque de bug car tu as laisse un espace < iostream.h> c´est un nom de fichier et j´ai peu que ca prenne en compte l´espace

jomeo
jomeo
Niveau 13
20 novembre 2004 à 18:22:14

visiblement il préfère qu´on utilise un :

  1. include < iostream>

( sans le . h) > le problème, c´est qu´il ne reconnait pas " cout" ! !

jomeo
jomeo
Niveau 13
20 novembre 2004 à 18:25:53

J´ai trouvé :

gcc suit simplement la normalisation qui déclare que iostream.h est obsolète. Il fait désormais inclure iostream et précisier pour chaque fonction le package : par exemple " std::cout < < ´hello´ < < endl ; "

maxime999
maxime999
Niveau 8
21 novembre 2004 à 01:31:16

std::cout mais aussi std::endl;

pour simplifier tout ca tu fais un using namespace std; au debut et tout roule
plus besoin de faire std::cout, tu peux faire cout

Briaeros007
Briaeros007
Niveau 10
21 novembre 2004 à 16:52:57

juste comme ca mais le compilateur c++ c´est g++ et pas gcc . ...
et g++ comprend implictement le namespace std ( ie pas besoin de le mettre; mais ca fait moins propre;)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware