[C++]lien pour les includes ??

lien pour les includes ?? [C++] - C++ - Programmation

Marsh Posté le 21-04-2004 à 14:40:41    

Bonjour,
J'ai un souci avec ma mandrake, lorsque je compile avec g++, aucun include n'est trouvé.
J'ai pourtant bien un répertoire /usr/include/c++  
Comment changer le lien pour que g++ les trouve ?  
 
Merci de m'indiquer la solution (où du moins un tuto)  :jap:  
Je ne trouve pas sur le forum (pourtant ca doit bien y etre...) :sleep:

Reply

Marsh Posté le 21-04-2004 à 14:40:41   

Reply

Marsh Posté le 21-04-2004 à 15:30:28    

Donne surtout pas ta commande pour compiler ni l'erreur...:sarcastic:

Reply

Marsh Posté le 21-04-2004 à 15:42:28    

Ben j'ai déjà précisé le problème, bon :
g++ mon_fic.cc -o mon_exe
J'ai aussi essayé avec -ansi -pedantic...
 
L'erreur est un truc du style:
iostream.h : no such file ....
 
Il me fait ca pour chaque header.
J'ai essayé, iostream au lieu de iostream.h, ou même using namespace std; Ca ne change rien.
Merci de ton attention ;)

Reply

Marsh Posté le 21-04-2004 à 16:27:32    

pwill a écrit :

Ben j'ai déjà précisé le problème, bon :
g++ mon_fic.cc -o mon_exe
J'ai aussi essayé avec -ansi -pedantic...
 
L'erreur est un truc du style:
iostream.h : no such file ....
 
Il me fait ca pour chaque header.
J'ai essayé, iostream au lieu de iostream.h, ou même using namespace std; Ca ne change rien.
Merci de ton attention ;)


et donne le début de ton fichier .cc...?

Reply

Marsh Posté le 21-04-2004 à 16:43:38    

Code :
  1. #include <iostream.h>
  2. using namespace std;
  3. int* fct() {
  4.    int* ptr_i = new int;
  5.    *ptr_i = 17;
  6.    return ptr_i;
  7. }
  8. int main() {
  9.    int* dyn_ptr;
  10.    dyn_ptr = fct();
  11.  
  12.    cout << "Adresse=" << dyn_ptr << endl;  // Adresse toujours valide
  13.    cout << "Valeur=" << *dyn_ptr << endl;  // Affichera 17
  14.    delete dyn_ptr;                         // Desalloue cette case
  15.    cout << "Valeur=" << *dyn_ptr << endl;  // Invalide !!
  16. }

Reply

Marsh Posté le 21-04-2004 à 16:43:47    

#include <iostream>
et pas #include "iostream" on est bien d'accord ?
 
edit : grillaid
(iostream et pas iostream.h)


Message édité par blackgoddess le 21-04-2004 à 16:45:59

---------------
-( BlackGoddess )-
Reply

Marsh Posté le 21-04-2004 à 17:09:41    

blackgoddess a écrit :

#include <iostream>
et pas #include "iostream" on est bien d'accord ?
 
edit : grillaid
(iostream et pas iostream.h)


iostream au lieu de iostream.h ne change rien, je viens de réessayer.
 
Le prob vient de la config des includes non ? A l'iut tous les codes repris chez moi compilaient bien.

Reply

Marsh Posté le 21-04-2004 à 17:10:57    

pwill a écrit :

iostream au lieu de iostream.h ne change rien, je viens de réessayer.
 
Le prob vient de la config des includes non ? A l'iut tous les codes repris chez moi compilaient bien.


ya rien à configurer normalement à ce niveau...
Essaye de compiler avec g++ -c tontruc.cc -o tontruc.o -I"rep de tes includes" pour voir?
 
[edit]
Sous cygwin, copier/coller de ton code, juste un warning pour me rappeler que iostream.h est deprecated, sinon RAS.


Message édité par skeye le 21-04-2004 à 17:32:49
Reply

Marsh Posté le 21-04-2004 à 21:11:14    

moi j'avais le meme pb que toi qd j'essay de compiler en ligne de commande sans utiliser devcpp
 
en fait devcpp me genere ca comme commande pour un helloworld (g abregé pas mal de truc, dont les path et j'ai retirer ceux par defaut qui etait rajouté)
 
g++.exe truc.cpp -ansi -g3  -I"...\include\c++"  

Reply

Marsh Posté le 21-04-2004 à 21:31:34    

skelter a écrit :


 
g++.exe truc.cpp -ansi -g3  -I"...\include\c++"  


-Wall -W -std=c++98 :o

Reply

Marsh Posté le 21-04-2004 à 21:31:34   

Reply

Marsh Posté le 21-04-2004 à 22:03:05    

ben oui mais j'utilise devcpp, t marrant j'ai pas le premier reflex de bidouiller la ligne de commande
 
je suppose que -std=c++98 verifie si le code respecte bien le standard c++ mais -Wall et -W ca ve diree koi?

Reply

Marsh Posté le 21-04-2004 à 22:07:24    

des warnings, encore des warnings

Reply

Marsh Posté le 21-04-2004 à 22:10:51    

ok, la au moins on est sur, g les rajoute dans la ligne de commande et g test

Reply

Marsh Posté le 22-04-2004 à 21:27:09    

skeye a écrit :

ya rien à configurer normalement à ce niveau...
Essaye de compiler avec g++ -c tontruc.cc -o tontruc.o -I"rep de tes includes" pour voir?
 
[edit]
Sous cygwin, copier/coller de ton code, juste un warning pour me rappeler que iostream.h est deprecated, sinon RAS.


J'ai testé, veut rien savoir... enfin il me sort 15000 lignes avec des
"In file: machin.h  blablabla...".
Ya ptet eu un pb lors de l'installe de la mdk 9.2  :??: C'est bizarre.
 
Sinon, cygwin marche bien, mais il trouve des erreurs de syntaxe dans les fichiers de mes profs  :??: Vous n'auriez pas un petit truc pour qu'il ne les voit plus svp ?
 
Merci à vous :)  

Reply

Marsh Posté le 22-04-2004 à 21:28:44    

on peux voir les 10 premières lignes du message d'erreur

Reply

Marsh Posté le 22-04-2004 à 22:32:53    

ouep, sorry pour le retard Taz
ca donne ca:

Code :
  1. In file included from exo-4.cc:1:
  2. /usr/include/c++/3.3.1/iostream:44:28: bits/c++config.h: No such file or directory
  3. In file included from /usr/include/c++/3.3.1/ios:44,
  4.                  from /usr/include/c++/3.3.1/ostream:45,
  5.                  from /usr/include/c++/3.3.1/iostream:45,
  6.                  from exo-4.cc:1:
  7. /usr/include/c++/3.3.1/iosfwd:45:28: bits/c++config.h: No such file or directory
  8. /usr/include/c++/3.3.1/iosfwd:46:29: bits/c++locale.h: No such file or directory
  9. In file included from /usr/include/c++/3.3.1/iosfwd:47,
  10.                  from /usr/include/c++/3.3.1/ios:44,
  11.                  from /usr/include/c++/3.3.1/ostream:45,
  12.                  from /usr/include/c++/3.3.1/iostream:45,
  13.                  from exo-4.cc:1:
  14. /usr/include/c++/3.3.1/cctype:48:28: bits/c++config.h: No such file or directory
  15. In file included from /usr/include/ctype.h:28,
  16.                  from /usr/include/c++/3.3.1/cctype:49,
  17.                  from /usr/include/c++/3.3.1/iosfwd:47,
  18.                  from /usr/include/c++/3.3.1/ios:44,
  19.                  from /usr/include/c++/3.3.1/ostream:45,
  20.                  from /usr/include/c++/3.3.1/iostream:45,
  21.                  from exo-4.cc:1:
  22. /usr/include/bits/types.h:31:20: stddef.h: No such file or directory
  23. In file included from /usr/include/c++/3.3.1/iosfwd:48,
  24.                  from /usr/include/c++/3.3.1/ios:44,
  25.                  from /usr/include/c++/3.3.1/ostream:45,
  26.                  from /usr/include/c++/3.3.1/iostream:45,
  27.                  from exo-4.cc:1:


Reply

Marsh Posté le 22-04-2004 à 22:44:07    

bits/c++config.h
 
a ouais la il te manque des trucs, vérifie ton installation et les droits des réperoires

Reply

Marsh Posté le 22-04-2004 à 22:52:44    

Erf :'( Je crois me souvenir maintenant que j'ai eu des pb a l'installation de la mandrake, il se peut que j'ai zappé un cd... à tous les coups ca vient de là.
Bon, alors go pour une réinstallation des packages.
 
Pfiou, quel si boulet si c'est ca [:moundir]


Message édité par Pwill le 22-04-2004 à 22:52:56
Reply

Marsh Posté le 22-04-2004 à 23:34:45    

> mais -Wall ca ve diree koi?  
 
Qu'il essaye de te prevenir si ton code va dans le mur :D
A+,

Reply

Marsh Posté le 24-04-2004 à 21:18:24    

-Wall = Warnings all
 
Option à utiliser systématiquement sous gcc (en fait, tous les warnings ne sont pas activés, mais les plus importants seulement).

Reply

Sujets relatifs:

Leave a Replay

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