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.
Partager