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

C++ Discussion :

problème de compilation avec les bibliothèques standards


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur R&D instrumentation
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D instrumentation

    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut problème de compilation avec les bibliothèques standards
    J'ai un petit souci avec un programme tout simple, dont voici la source :

    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
    #include <iomanip>
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <sstream>
     
     
    int main(int argc, char** argv)
    {
    string filein;
    string fileout;
    int i;
     
    if(argc==1) filein=argv[1];
    else {
    	cout << "La syntaxe est : cara2mgs nomfichier.dat" << endl;
    	return 0;
    	}
     
    i=filein.find('.');
    fileout=filein;
    fileout.replace(i+1, 3, "mgs");
    cout << fileout << endl;
     
    return 0;
    }

    lorsque je compile le code, voilà ce que j'obtiens :


    [localhost Linux-g++]$ g++ -I/usr/include -L/usr/lib -lm -o cara2mgs cara2mgs.cc
    cara2mgs.cc: In function ‘int main(int, char**)’:
    cara2mgs.cc:10: erreur: ‘string’ was not declared in this scope
    cara2mgs.cc:10: erreur: expected `;' before ‘filein’
    cara2mgs.cc:11: erreur: expected `;' before ‘fileout’
    cara2mgs.cc:14: erreur: ‘filein’ was not declared in this scope
    cara2mgs.cc:16: erreur: ‘cout’ was not declared in this scope
    cara2mgs.cc:16: erreur: ‘endl’ was not declared in this scope
    cara2mgs.cc:20: erreur: ‘filein’ was not declared in this scope
    cara2mgs.cc:21: erreur: ‘fileout’ was not declared in this scope
    cara2mgs.cc:23: erreur: ‘cout’ was not declared in this scope
    cara2mgs.cc:23: erreur: ‘endl’ was not declared in this scope

    je précise que j'ai rajouté les options -I et -L après avoir essayé simplement :
    g++ -lm -o cara2mgs cara2mgs.cc

    aurais-je oublié quelque chose?
    je parie que je vais avoir honte quand vous me donnerez la solution


    balise [code] rajoutée par r0d, merci d'y penser la prochaine fois.

  2. #2
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 266
    Points : 6 688
    Points
    6 688
    Billets dans le blog
    2
    Par défaut
    Pour la solution, je ne sais pas. En revanche, tu peux avoir honte de ne pas avoir utilisé la balise [code]


  3. #3
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 266
    Points : 6 688
    Points
    6 688
    Billets dans le blog
    2
    Par défaut
    Ton problème est que ton main ne connais le namespace std.
    2 solutions:
    -> ajouter "using namespace std;" avant le main
    -> ajouter l'opérateur de résolution de portée "std::" avant les types de la STL.

    Hope it helps

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur R&D instrumentation
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D instrumentation

    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci !!!

    promis la prochaine fois j'utiliserai la balise code

  5. #5
    Membre averti Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Points : 363
    Points
    363
    Par défaut
    ... et utilise le bouton résolu.

Discussions similaires

  1. Probléme de compilation avec les structures
    Par bambitous dans le forum C
    Réponses: 3
    Dernier message: 17/12/2012, 10h40
  2. Problème de compilation avec les traits (g++)
    Par benlaug dans le forum Langage
    Réponses: 4
    Dernier message: 31/12/2011, 17h24
  3. Problème avec les bibliothèques PostGreSQl
    Par madessbf dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 04/11/2008, 13h25
  4. Réponses: 1
    Dernier message: 16/07/2008, 03h34
  5. Problème de compilation avec gcc et bibliothèques
    Par Fonzy007 dans le forum Linux
    Réponses: 1
    Dernier message: 13/02/2007, 13h14

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