IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

C++ pour les nuls => Linux => Problème


Sujet :

Linux

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut C++ pour les nuls => Linux => Problème
    Bonjour !

    J'ai acheter le bouquin "C++ pour les Nuls". Seulement, dans ce livre, ils développent sous Windows, et moi je suis sous Linux.

    Conversion.cpp
    --------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    //
     
    //  Conversion de températures de degrés Celsius
     
    //  en degrés Fahrenheit :
     
    //  Fahrenheit = Celsius  * (212 - 32)/100 + 32
     
    //
     
    #include <cstdio>
     
    #include <cstdlib>
     
    #include <iostream>
     
    using namespace std;
     
     
     
    int main(int nNumberofArgs, char* pszArgs[])
     
    {
     
     
     
      // saisie de la température en Celsius
     
      int celsius;
     
      cout << "Entrez la température en Celsius : ";
     
      cin >> celsius;
     
     
     
      // calcul du facteur de conversion de Celsius
     
      // en Fahrenheit
     
      int factor;
     
      factor = 212 - 32;
     
     
     
      // applique le facteur de conversion pour le passage
     
      // de degrés Celsius en degrés Fahrenheit
     
      int fahrenheit;
     
      fahrenheit = factor * celsius/100 + 32;
     
     
     
      // affiche les résultats (suivis d'un saut de ligne)
     
      cout << "Valeur en degrés Fahrenheit : ";
     
      cout << fahrenheit << endl;
     
     
     
      // avant de terminer le programme, attend le signal de
     
      // l'utilisateur pour lui permettre de voir le résultat
     
      system("PAUSE");
     
      return 0; 
     
    }
    J'utilise :
    gcc Conversion.cpp -o conversion
    pour compiler mon programme (gcc-c++ est installé).

    Voici les erreurs :
    [root@localhost Chap01]# gcc Conversion.cpp -o conversion
    /tmp/ccqE51Ja.o(.text+0x25): In function `main':
    Conversion.cpp: undefined reference to `std::cout'
    /tmp/ccqE51Ja.o(.text+0x2a):Conversion.cpp: 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/ccqE51Ja.o(.text+0x39):Conversion.cpp: undefined reference to `std::cin'
    /tmp/ccqE51Ja.o(.text+0x3e):Conversion.cpp: undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&)'
    /tmp/ccqE51Ja.o(.text+0x79):Conversion.cpp: undefined reference to `std::cout'
    /tmp/ccqE51Ja.o(.text+0x7e):Conversion.cpp: 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/ccqE51Ja.o(.text+0x8c):Conversion.cpp: undefined reference to `std::cout'
    /tmp/ccqE51Ja.o(.text+0x91):Conversion.cpp: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)'
    /tmp/ccqE51Ja.o(.text+0x9c):Conversion.cpp: 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/ccqE51Ja.o(.text+0xa2):Conversion.cpp: 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/ccqE51Ja.o(.text+0xcf): In function `__tcf_0':
    Conversion.cpp: undefined reference to `std::ios_base::Init::~Init()'
    /tmp/ccqE51Ja.o(.text+0xfc): In function `__static_initialization_and_destruction_0(int, int)':
    Conversion.cpp: undefined reference to `std::ios_base::Init::Init()'
    /tmp/ccqE51Ja.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    collect2: ld a retourné 1 code d'état d'exécution

    Qu'est ce que ca peut bien être ?

    Merci d'aider un jeune débutant qui ne demande qu'à apprendre

  2. #2
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Rapidement:
    - gcc : pour compiler du C
    - g++ : pour compiler du C++
    - "Le C++ pour les nuls" ... euh tu peux encore te le faire changer ? (Mais lis-tu seulement l'anglais ?)
    - "system("pause");" tu ne devrais pas en avoir besoin, au pire regarde dans la FAQ.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #3
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Salut, tu compiles mal ton projet c'est tout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    g++ -c Conversion.cpp
    g++ -o Conversion Conversion.o
    ./Conversion
    le compilateur C++ c'est g++.

    L'option -c permet de compiler sans lier le fichier.
    L'option -o lie les fichiers objets (*.o) et génère l'exécutable du nom du premier argument après '-o', ici Conversion.
    './Conversion' te permet de lancer l'exécutable.

    Allez, les premiers temps sont durs, mais courage.

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Merci à vous, ca marche

  5. #5
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Une bonne habitude à prendre, le tag résolu.

    Si comme tu le laisses entendre ton problème est résolu.

  6. #6
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Points : 2 844
    Points
    2 844
    Par défaut
    Citation Envoyé par Luc Hermitte
    - "Le C++ pour les nuls" ... euh tu peux encore te le faire changer ? (Mais lis-tu seulement l'anglais ?)
    Moi oui et rapidement tu conseilles quel livre en anglais?
    Un développeur à qui j'ai confié que j'allais peut être me consacrer au C m'a dit de lire d'abord le C++ de Strousup et depuis je me pose des questions...concernant le C++ par rapport au C et donc si tu pouvais indiquer ce livre peut être cela me permettrait il d'y voir plus clair.
    PS:en fait je me demande pourquoi ce dév qui a développé principalement en C me dit qu'il faut que je fasse du C++ quoiqu'il s'oriente dans l'embarqué ou bcp semble utilisé le C++ maintenant

  7. #7
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Humm.. De manière générale, Addisson-Wesley est une excellente maison d'édition en ce qui concerne le C++ -- les gurus et références s'y réunissent.
    Un bouquin d'apprentissage qui a une excellente côte est Accelerated C++ de Koenig et Moo (chez AW bien sûr).
    Par contre, c'est un bouquin d'apprentissage du C++98 sans passer par la case C.

    Ce qui veut dire qu'il risque de ne pas convenir si tu dois faire du C, du C avec classes, ou du C++ embedded (qui est un produit à part entière qui est plus proche du C++ du temps de l'ARM, que du C++98). Toutes les manipulations de la mémoire qui sont classiques en C ne seront pas présentées car limite obsolètes (non idiomatiques pour être plus "exact") en C++98.

    Deux pdf plus ou moins en thème avec ce que tu dis, seraient le "why still using C?" qui est dispo en ligne sur objectmentor (weuweuweu, point com), et beaucoup plus indirectement le document référencé depuis la FAQ sur le site de Stroustrup au sujet de pourquoi le C++ doit être présenté comme un langage à part entière.

    Lire le Stroustrup (un conseil, viser la 3ed minimum, et pour la VF la version corrigée techniquement par Michel Michaud) pour ensuite faire du C ... je ne comprends pas. C'est un bouquin de référence, mais parfois un peu ardu (de ouïe-dire, je n'avais croisé que la VF de la 2nde ed.).
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DE Linux pour les nuls - retour d'expérience demandé
    Par Cafeinoman dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 01/11/2014, 15h21
  2. PyInstaller pour les nuls sur Linux, Windows et Mac OS
    Par rambc dans le forum Déploiement/Installation
    Réponses: 20
    Dernier message: 31/07/2010, 13h50
  3. Linux pour les nuls
    Par thinkandstart dans le forum Distributions
    Réponses: 2
    Dernier message: 29/06/2007, 12h12
  4. Réponses: 2
    Dernier message: 08/02/2007, 12h02
  5. Apprendre le réseau (pour les nuls)
    Par __fabrice dans le forum Développement
    Réponses: 5
    Dernier message: 08/03/2005, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo