Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1401 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Impossible de créer l'en-tête pré-compilé : code dans l'en-tête

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Impossible de créer l'en-tête pré-compilé : code dans l'en-tête

n°759973
pinpoy
Posté le 11-06-2004 à 04:00:43  profilanswer
 

Salut j'obtiens le message d'eerur du titre du topic avec la declaration de classe suivante, j'ai beau regarder l'aide ca mavance pas plus
 

Code :
  1. class location
  2. {
  3. private:
  4.  string pays, agence_dep, date_dep, heure_dep, agence_arr, date_arr, heure_arr;
  5.  int kmdebut;
  6. public:
  7.  location(string _pays, string _agence_dep, string _date_dep, string _heure_dep, string _agence_arr, string _date_arr, string _heure_arr, int _kmdebut);
  8. };
  9. location::location(string _pays, string _agence_dep, string _date_dep, string _heure_dep, string _agence_arr, string _date_arr, string _heure_arr, int _kmdebut)
  10. {
  11. pays=_pays;
  12. agence_dep=_agence_dep;
  13. date_dep=_date_dep;
  14. heure_dep=_heure_dep;
  15. agence_arr=_agence_arr;
  16. date_arr=_date_arr;
  17. heure_arr=_heure_arr;
  18. kmdebut=_kmdebut;
  19.         cout<<endl<<endl<<"la location est cree"<<endl<<endl;
  20. }


 
si vous avez une idée nhésitez pas  merci
 
si je trouve je vous tiens au courant....
 
ps je compile sous c++ builder 5 sous win
 
EDIT je viens de deplacer la classe location est la ligne indiquée pour le probleme na pas bougée elle
 
donc ca vient dautres part  
 
Une idée?


Message édité par pinpoy le 11-06-2004 à 04:54:33
mood
Publicité
Posté le 11-06-2004 à 04:00:43  profilanswer
 

n°760623
pinpoy
Posté le 11-06-2004 à 16:42:44  profilanswer
 

je viens de penser a un truc  
 
en fait j'ai la declaration de mes classes et la définition des fonctions dans le meme fichicie, le message derreur vient peut-etre de la
 
quoiquil en soit ca ne gene pas la compilation du programme


Message édité par pinpoy le 11-06-2004 à 21:25:46
n°760747
cricri_
Posté le 11-06-2004 à 19:05:35  profilanswer
 

tu dois avoir l'option "utiliser l'entête pré-compilé" ou qqchose comme ça dans le projet, met à auto ou enlève.
J'ai ce pb là aussi avec visual, et j'avoue ne pas trop savoir pourquoi le truc ne pré-compile pas la première fois.

n°760851
pinpoy
Posté le 11-06-2004 à 21:25:31  profilanswer
 

cetait bien ca
 
dans les option du projet a entete précompilés j'ai mis "aucun" à la place de "cacher les entetes précompilés"
 
je comprends pas vraiment ce que ca change mais bon plus de message derreur, si quelqu'n a une explication je suis preneur
 
Merci  :o

n°760861
cricri_
Posté le 11-06-2004 à 21:41:39  profilanswer
 

Moi non plus ... je suppose que le truc ne sait pa compiler une première fois si l'option n'est pas là, mais je suis tout ouie également ;)

n°760867
Joel F
Real men use unique_ptr
Posté le 11-06-2004 à 21:57:51  profilanswer
 

le precompiled header ca puduku :o

n°760868
Taz
bisounours-codeur
Posté le 11-06-2004 à 21:58:25  profilanswer
 

mais ça marche très bien d'ailleurs :o

n°760869
Joel F
Real men use unique_ptr
Posté le 11-06-2004 à 21:59:59  profilanswer
 

Taz a écrit :

mais ça marche très bien d'ailleurs :o


 
 [:joel f] j'y crois a mort  [:spyer]

n°760870
el muchach​o
Comfortably Numb
Posté le 11-06-2004 à 22:04:11  profilanswer
 

Joel F a écrit :

[:joel f] j'y crois a mort  [:spyer]


 
C'est quoi ton pb avec les precompiled headers ? :)

n°760872
Taz
bisounours-codeur
Posté le 11-06-2004 à 22:05:05  profilanswer
 

ben j'ai testé qu'en C et ça tournait pas mal

mood
Publicité
Posté le 11-06-2004 à 22:05:05  profilanswer
 

n°760874
Taz
bisounours-codeur
Posté le 11-06-2004 à 22:07:26  profilanswer
 

sinon pour que le code ici suivant soit correcte, il ne faut pas définir 36 fois le constructeur mais l'inliner : le mieux est de le définir dans le bloc de déclaration de la classe, sinon le marquer inline etc

n°760875
el muchach​o
Comfortably Numb
Posté le 11-06-2004 à 22:08:40  profilanswer
 

Je ne connais que la version VC++ 6.0, et ça accélère considérablement les compiles (5000 fichier 45mn en ligne de commande tout de même sur un P4@2,4GHz, et au moins 2x plus sous Visual). Seul pb, c'est que parfois sous Visual, l'environnement se ramasse et ne détecte pas les changements dans les .h, ce gros naze.


Message édité par el muchacho le 11-06-2004 à 22:09:08
n°760876
Taz
bisounours-codeur
Posté le 11-06-2004 à 22:11:30  profilanswer
 

Joel > les pch ça à l'air de bien marcher en C++ aussi avec gcc
 
« 5000 fichier 45mn »
 
ce qui ne veut strictement rien dire : en étant vicieux, tu peux faire une fichier de 500 lignes avec des template qui va mettre à lui seul 15min à compiler

n°760879
el muchach​o
Comfortably Numb
Posté le 11-06-2004 à 22:15:30  profilanswer
 

Taz a écrit :

Joel > les pch ça à l'air de bien marcher en C++ aussi avec gcc
 
« 5000 fichier 45mn »
 
ce qui ne veut strictement rien dire : en étant vicieux, tu peux faire une fichier de 500 lignes avec des template qui va mettre à lui seul 15min à compiler


 
Oui, mais il y a des règles de codage, et parmis celles-ci, on évite d'utiliser les templates de manière générale (en fait, c'est interdit, pour des raisons de clarté de code, et d'explosion de la taille des objets générés, mais on les utilise quand même, parcimonieusement, ne serait-ce que pour les containers de la STL).
Enfin, tout ce que ça veut dire, c'est qu'en évitant de reparser n fois les headers, on gagne énormément.


Message édité par el muchacho le 11-06-2004 à 22:16:09
n°760882
Joel F
Real men use unique_ptr
Posté le 11-06-2004 à 22:18:14  profilanswer
 

Taz a écrit :

Joel > les pch ça à l'air de bien marcher en C++ aussi avec gcc
 
« 5000 fichier 45mn »
 
ce qui ne veut strictement rien dire : en étant vicieux, tu peux faire une fichier de 500 lignes avec des template qui va mettre à lui seul 15min à compiler


 
ouais, j'ai jamais creusé , ca me paraissait assez fumeux.
 
Quant au template, mon record eprso est 80 lignes de template compilées en 78mn

n°760883
Taz
bisounours-codeur
Posté le 11-06-2004 à 22:19:03  profilanswer
 

là n'est pas la question.
 
cela dit vaut mieux éviter les template, tant de gens croient savoir s'en servir, au final c'est un massacre
 
 
pch ou pas, moi je me planque derrière mon ccache et c'est très bien

n°760887
el muchach​o
Comfortably Numb
Posté le 11-06-2004 à 22:23:11  profilanswer
 

Taz a écrit :

là n'est pas la question.
 
cela dit vaut mieux éviter les template, tant de gens croient savoir s'en servir, au final c'est un massacre.


 
 :jap:  
Dans un gros projet qui dure des années, il n'y a pas que des génies, il y a forcément quelques boulets. Donc on serre la vis pour limiter l'étendue des dégats.

n°760927
Joel F
Real men use unique_ptr
Posté le 11-06-2004 à 22:47:40  profilanswer
 

Taz a écrit :

là n'est pas la question.
 
cela dit vaut mieux éviter les template, tant de gens croient savoir s'en servir, au final c'est un massacre
 
 
pch ou pas, moi je me planque derrière mon ccache et c'est très bien


 
ben des fois on est bien obligé. Si je templatisé pas comme un porc je perdrais 60% à 80% d'eficacité.
 
bon, je vais regarder la doc pour le PCH de gcc

n°760939
Taz
bisounours-codeur
Posté le 11-06-2004 à 22:54:12  profilanswer
 

j'ai pas dit de tout templatisé :o
 
et niveau explosion du volume de code, j'ai déjà eu de tès bon résultat avec une implémentation en 2 temps, void* puis T
 
 
toutes façons, avec des templates, on ne ferait rien de plus rien de moins qu'à l'habitude : on le fait juste plus vite alors les résultat sont les mêmes

n°760948
Joel F
Real men use unique_ptr
Posté le 11-06-2004 à 22:56:04  profilanswer
 

Taz a écrit :


j'ai pas dit de tout templatisé :o


 
moi non plus :o
 

Taz a écrit :


et niveau explosion du volume de code, j'ai déjà eu de tès bon résultat avec une implémentation en 2 temps, void* puis T


c'est à dire ?
 

Taz a écrit :


toutes façons, avec des templates, on ne ferait rien de plus rien de moins qu'à l'habitude : on le fait juste plus vite alors les résultat sont les mêmes


 
o_O

n°760949
Taz
bisounours-codeur
Posté le 11-06-2004 à 22:56:53  profilanswer
 

mais tu sais bien, faire une coeur générique avec des void*, la couche template ne s'occupant que du typage et des new/delete

n°760953
Joel F
Real men use unique_ptr
Posté le 11-06-2004 à 22:59:43  profilanswer
 

Taz a écrit :

mais tu sais bien, faire une coeur générique avec des void*, la couche template ne s'occupant que du typage et des new/delete


 
 :sweat: il se fait tard ... OK c'est bon ^^
 
(/me se cache, il en a un gros comme ca dans le code ouvert sous ces yeux )

n°761398
Taz
bisounours-codeur
Posté le 12-06-2004 à 20:24:11  profilanswer
 

alros les pch ?

n°761429
cricri_
Posté le 12-06-2004 à 21:29:14  profilanswer
 

T'es dûr ... pch -> trashcan !! ;)

n°761657
Joel F
Real men use unique_ptr
Posté le 13-06-2004 à 09:39:29  profilanswer
 

Taz a écrit :

alros les pch ?


 


E.V.E. Compilation Time (no precompiled header) : 1073.2s
E.V.E. Compilation Time (w/ precompiled header) :  643.8s


 
hmmm je veut creuser un poil plus ...

n°761658
Taz
bisounours-codeur
Posté le 13-06-2004 à 09:42:13  profilanswer
 

t'as du t'amuser à modifier le Makefile :o


Message édité par Taz le 13-06-2004 à 09:46:17
n°761664
Taz
bisounours-codeur
Posté le 13-06-2004 à 10:21:08  profilanswer
 

faudrait voir à tester gcc-3.5 avec un peu de chances, il fait tout tout seul (vu que les pch sont juste une démo technique dans 3.4)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Impossible de créer l'en-tête pré-compilé : code dans l'en-tête

 

Sujets relatifs
Ecrire un fichier txt codé en utf-8Maj de mon code PHP !!
[PHP] - ereg() toujours flou dans ma tete -> RESOLUHTML -> XML Validateur de code ?
phpmyadmin | Impossible d'afficher la pageimpossible d'utiliser une variable passée en URL
Comment trouvez vous ce code ? [résolus]Comment créer un site WEB ?
Insérer Code HTML par script.créer un fichier d'aide pour soft windowds SVP
Plus de sujets relatifs à : Impossible de créer l'en-tête pré-compilé : code dans l'en-tête


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR