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

MFC Discussion :

#include .cpp


Sujet :

MFC

  1. #1
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 230
    Points : 122
    Points
    122
    Par défaut #include .cpp
    Voila, je viens de quitter mon ancien compilateur C++ pour me mettre sur Visual C++ mais je patoge un peu.
    Première chose bizarre que j'ai remarqué c'est pourquoi il na'ccepte âs les include de .cpp ?

    PAr exemple : #include "Perso.cpp"
    Mes sites :
    - Portail : http://www.azharis.fr/
    - Neuroshima Hex : http://neuroshima-hex.azharis.fr/
    - Monolith Arena : http://monolith-arena.azharis.fr/

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Il ne faut jamais inclure de .cpp, seulement des en-têtes.

    Ceci-dit, même si c'est un erreur, l'inclusion en elle-même devrait tout de même passer.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 230
    Points : 122
    Points
    122
    Par défaut
    Oui mais si je fais un objet, je le déclare dans un .h et je définis ces méthodee dans un .ccp. Je fais comment pour inclkure l'objet?
    Mes sites :
    - Portail : http://www.azharis.fr/
    - Neuroshima Hex : http://neuroshima-hex.azharis.fr/
    - Monolith Arena : http://monolith-arena.azharis.fr/

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ca ne marche pas comme ça. Tu devrais revoir tes bases, concernant l'organisation des fichiers.

    http://c.developpez.com/faq/cpp/?pag...ASS_header_cpp

  5. #5
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 230
    Points : 122
    Points
    122
    Par défaut
    D'accord, ça je l'ai lu plusieurs fois mais si avec le .cpp on inclu le .h, alors dans le fichier principal il faut inclure le .cpp.

    Par exemple : si le code principale est stocké dans le fichier main.cpp, il y a un objet déclaré dans le fichier Perso.h et ses méthodes son écrites dans Perso.cpp et dans Perso.cpp il y a #include "Perso.h", alors dans le main.cpp il doit y avoir #include "Perso.cpp".

    N'est-ce pas ?
    Mes sites :
    - Portail : http://www.azharis.fr/
    - Neuroshima Hex : http://neuroshima-hex.azharis.fr/
    - Monolith Arena : http://monolith-arena.azharis.fr/

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Citation Envoyé par Azharis
    N'est-ce pas ?
    non

    tu as seulement besoin de renseigner les .h. ainsi le code appelant a les déclarations de classes et de fonctions. pour ce qui est de savoir ce que font ces fonctions (implémentées dans le .cpp) le compilateur se débrouille tout seul.

    il n'y a que pour les templates que tu peux éventuellement inclure le .cpp dans le .h (situation inverse à la normale, voir FAQ)

  7. #7
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 230
    Points : 122
    Points
    122
    Par défaut
    J'ai pas bien compris mais, pour reprendre mon exemple précédent, il faut mettre toutes les définitions des méthodes de l'objet dans main.cpp, et si y'a 5 objets, on fait 5 .h et on bourre le main.cpp, c'est ça?
    Mes sites :
    - Portail : http://www.azharis.fr/
    - Neuroshima Hex : http://neuroshima-hex.azharis.fr/
    - Monolith Arena : http://monolith-arena.azharis.fr/

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Non.

    1 couple .h / .cpp par classe (habituellement), on met dans le .h la définition de la classe et son implémentation dans le .cpp. Ensuite pour utiliser une classe, on inclut simplement son .h ; l'éditeur de lien se chargeant de trouver comme un grand le corps des fonctions dans les fichiers compilés.

  9. #9
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 230
    Points : 122
    Points
    122
    Par défaut
    Alléluia, voila quelque chose de clair et précis.
    Un grand merci.
    Mes sites :
    - Portail : http://www.azharis.fr/
    - Neuroshima Hex : http://neuroshima-hex.azharis.fr/
    - Monolith Arena : http://monolith-arena.azharis.fr/

  10. #10
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 230
    Points : 122
    Points
    122
    Par défaut
    Désolé mais dans ce cas-la, à quoi ca sert d'inclure le .h dans le .cpp correspondant ?
    Mes sites :
    - Portail : http://www.azharis.fr/
    - Neuroshima Hex : http://neuroshima-hex.azharis.fr/
    - Monolith Arena : http://monolith-arena.azharis.fr/

  11. #11
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Si tu implémentes des fonctions, il faut bien que le compilo sache desquelles il s'agit.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème include .cpp, .h
    Par atum25 dans le forum C++/CLI
    Réponses: 2
    Dernier message: 22/08/2012, 10h21
  2. Problème d'include CPP
    Par nico_kurt dans le forum Débuter
    Réponses: 2
    Dernier message: 14/02/2010, 13h52
  3. Réponses: 4
    Dernier message: 10/11/2008, 11h13
  4. [DEB.]Petit soucis avec #include <math> et Dev-Cpp
    Par Marc_3 dans le forum Dev-C++
    Réponses: 3
    Dernier message: 30/01/2006, 18h19

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