iostream sous Cygwin.

iostream sous Cygwin. - C++ - Programmation

Marsh Posté le 21-09-2002 à 19:33:15    

J'ai téléchargé Cygwin pour commencer à programmer pour Linux tout en restant encore un peu sous Windob mais j'arrive pas à faire un bête "cin>>" ou "cout<<" ; y'a-t-il une difference (syntaxe) avec le dos??  
 
Le plus facille je crois ke c de me donner un bête exemple    
Style un prog ki fait la même chose ke :
 

Code :
  1. #include<iostream.h>
  2. int main()
  3. {
  4.    int p;
  5.    cin>>p;
  6.    cout<<p;
  7. }


 
mais compilable sous Cygwin (gcc).
Thx.
 
 

Reply

Marsh Posté le 21-09-2002 à 19:33:15   

Reply

Marsh Posté le 21-09-2002 à 19:57:43    

As tu bien défini le chemin des includes ?
Peux tu dire le message d'erreur que tu obtiens ?
Ta fonction main() est sensée retourner un int ! Il est ou ?


Message édité par Harkonnen le 21-09-2002 à 20:01:43

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-09-2002 à 20:44:03    

désolé, c'tai un "void main ()"
 
[cpp] #include<iostream.h>  
  void main()  
  {  
       int p;  
       cin>>p;  
       cout<<p;  
  }  
 
le chemin de l'include est ok!
 
pour compiler j'utilise la ligne de commande  
"gcc e:/C++/tmp1.cpp -o e:/C++/tmp1"
 
y me met comme message d'erreur :
-undefined reference to 'cin'
-undefined reference to 'istream::operator>>(int&)'
-undefined reference to 'cout'
-undefined reference to 'ostream::operator<<(int&)'
 
 

Reply

Marsh Posté le 21-09-2002 à 20:47:13    

désolé, c'tai un "void main ()"  
 

Code :
  1. #include<iostream.h> 
  2. void main() 
  3.       int p; 
  4.       cin>>p; 
  5.       cout<<p; 
  6. }


le chemin de l'include est ok!  
 
pour compiler j'utilise la ligne de commande  
"gcc e:/C++/tmp1.cpp -o e:/C++/tmp1"  
 
y me met comme message d'erreur :  
-undefined reference to 'cin'  
-undefined reference to 'istream::operator>>(int&)'  
-undefined reference to 'cout'  
-undefined reference to 'ostream::operator<<(int

Reply

Marsh Posté le 21-09-2002 à 21:00:00    

compile en rajoutant l'option verbose (gcc -v...) pour avoir un listing des opérations effectuées et pour voir si tes chemins sont corrects.
 
poste le rapport ici si tu ne vois pas ce qui cloche
 
si tu es sous 95/98, poste aussi ton autoexec.bat


Message édité par Harkonnen le 21-09-2002 à 21:01:44

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-09-2002 à 21:12:05    

#include <iostream>
 
et pas #include <iostream.h>
 
je crois que ça joue.

Reply

Marsh Posté le 21-09-2002 à 21:16:58    

le rapport il est copié dans un fichier ?? (en fait je sais pas faire de copier-coller à partire de ma console (cygwin) et si c'est possible prefer éviter de le retapper)
 
bjone: j'ai testé sans ".h" mais y me detect toujours les mêmes erreures

Reply

Marsh Posté le 21-09-2002 à 21:20:55    

et avec:
 
#include <iostream>
using namespace std;


Message édité par bjone le 21-09-2002 à 21:21:06
Reply

Marsh Posté le 21-09-2002 à 21:21:25    

bjone a écrit a écrit :

#include <iostream>
 
et pas #include <iostream.h>
 
je crois que ça joue.
 




dans ce cas, rajouter : using namespace std;
 
edit: grilled


Message édité par Harkonnen le 21-09-2002 à 21:22:14

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-09-2002 à 21:22:59    

peak a écrit a écrit :

le rapport il est copié dans un fichier ?? (en fait je sais pas faire de copier-coller à partire de ma console (cygwin) et si c'est possible prefer éviter de le retapper)
 
bjone: j'ai testé sans ".h" mais y me detect toujours les mêmes erreures




gcc > c:\rapport.txt -v


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-09-2002 à 21:22:59   

Reply

Marsh Posté le 21-09-2002 à 21:44:41    

y me crée bien un fichier *.txt mais il est vide...
(0Ko et rien dedans)
 
j'ai testé :
 
 gcc e:/C++/tmp1.cpp > e:\C++\Debug\tmp1.txt -v  -o e:/C++/Debug/tmp1
 
 gcc > e:\C++\Debug\tmp1.txt -v
 gcc e:/C++/tmp1.cpp -v  -o e:/C++/tmp1
 
et
 
 gcc e:/C++/tmp1.cpp -v  -o e:/C++/tmp1
 gcc > e:\C++\Debug\tmp1.txt -v
 
(c'est bizzard si je met gcc > e:\C++\Debug\tmp1.txt -v le rapport est créé alors ke si je met gcc >e:/C++/Debug/tmp1.txt -v il l'est pas ?? )
 
 

Reply

Marsh Posté le 21-09-2002 à 21:48:55    

poste ton autoexec.bat si tu en as un


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-09-2002 à 22:01:12    

ben, apparement aussi bizard ke ça puisse paraitre j'ai pas d'autoexec.bat (j'ai WinXP)
 
ps: J'aimerai bien comprendre pourkoi le "rapport.txt" est vide??

Reply

Marsh Posté le 21-09-2002 à 22:04:37    

peak a écrit a écrit :

ben, apparement aussi bizard ke ça puisse paraitre j'ai pas d'autoexec.bat (j'ai WinXP)




c normal, y'a plus d'autoexec.bat sous XP
 

peak a écrit a écrit :

 
ps: J'aimerai bien comprendre pourkoi le "rapport.txt" est vide??  




moi aussi, mais on s'en fiche !
si tu veux pas te palucher la recopie de ton log, fais une capture d'écran de ta console et insère la dans un post, qu'on puisse en terminer sur ce problème vraiment très simple à priori


Message édité par Harkonnen le 21-09-2002 à 22:04:50

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-09-2002 à 22:46:29    

http://www.imchat.net/ScreenShot.JPG
 
 :spookie:  
 

Reply

Marsh Posté le 21-09-2002 à 23:24:03    

bon, et bien voila !!!
 
la solution de ton problème est très simple : tu utilises gcc pour compiler du C++
 
utilises g++, et ça devrait marcher.
 
sinon, je donne ma langue au chat


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-09-2002 à 23:34:47    

yyyyyyeeeeeeeppppppp!!!!! :)  
 
 :D  :D  :D  MERCI à toi harkonnen!!!!!!!  :D  :D  :D  
 
(ce réponse explike surement beaucoup de mes problèmes depuis ke je compile avec cygwin ; j'avais cru comprendre ke je devai utiliser gcc....mais me suis planté!)

Reply

Marsh Posté le 21-09-2002 à 23:58:41    

:sol:  
 
ceci dit, j'aurais pu m'en apercevoir bien avant !! j'ai meme pas percuté alors que je te disais de compiler avec gcc -v
 
je fatigue, moi  :sweat:


Message édité par Harkonnen le 21-09-2002 à 23:59:58

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 22-09-2002 à 00:23:59    

moralité : ca vaut aps le coup de se faire chier avec cygwin, utilise dev-c++ qui est livré avec mingw
 
(même si cywin reste supair pratik)

Reply

Marsh Posté le 22-09-2002 à 00:40:44    

farib a écrit a écrit :

moralité : ca vaut aps le coup de se faire chier avec cygwin, utilise dev-c++ qui est livré avec mingw
 
(même si cywin reste supair pratik)




oui, mais s'il veut programmer sous linux ensuite, cygwin lui permettra de ne pas être dépaysé


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 22-09-2002 à 11:26:23    

Ce probleme qu'il a eu avec cygwin, il l'aurait eu à l'identique sous Linux avec gcc ! D'ailleurs, je témoigne, ca fait bien chier de ne pas réussir à faire marcher un simple Hello World :D

Reply

Marsh Posté le 22-09-2002 à 14:25:37    

Kristoph a écrit a écrit :

Ce probleme qu'il a eu avec cygwin, il l'aurait eu à l'identique sous Linux avec gcc ! D'ailleurs, je témoigne, ca fait bien chier de ne pas réussir à faire marcher un simple Hello World :D




 
forcément si on utilises un mauvasi compilo
 
 
a son niveau de programmation ca change rien qu'il fasse du win ou du linux, alors ca sert à rien de tenir des discours de portabilité !

Reply

Marsh Posté le 22-09-2002 à 14:37:05    

farib a écrit a écrit :

 
 
forcément si on utilises un mauvasi compilo
 
a son niveau de programmation ca change rien qu'il fasse du win ou du linux, alors ca sert à rien de tenir des discours de portabilité !




 
je suis curieux de savoir le compilo que tu vas nous proposer
 
parceque tout le monde est au courant que gcc c'est de la merde :sarcastic:
 
arf et la remarque sur la portabilite est interresante, surtout pour un programme qui affiche hello world...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed