multiple definition

multiple definition - C++ - Programmation

Marsh Posté le 06-02-2005 à 17:33:08    

Bonjour,
 
Dans mon fichier main.h, j'ai ceci:
 

Code :
  1. #ifndef MAIN_H
  2. #define MAIN_H
  3. class Prog: public wxFrame{
  4.   public:
  5.    Prog(const wxChar *title, int xpos, int ypos, int width, int height);
  6.    void OnFichierNouveauPro(wxCommandEvent &event);
  7.    void OnFichierNouveauAll(int);
  8.    void OnFichierOuvrir(wxCommandEvent &event);
  9. };
  10. #endif


 
Dans le fichier main.cpp j'inclu le fichier main.h et il y a aussi le code des fonctions "OnFichierNouveauPro" et "OnFichierNouveauAll" et du constructeur.
 
Dans le fichier ouvrir.cpp j'ai ceci:

Code :
  1. #include <main.h>
  2. void Prog::OnFichierOuvrir(wxCommandEvent &event){
  3.   //CODE
  4. }


 
Lors de la compilation j'ai l'erreur suivante, comme l'éviter ?:
ouvrir.cpp: multiple definition of `Prog::OnFichierOuvrir(wxCommandEvent& )'
main.o(.text+0xc0ea):main.cpp: first defined here
 
Merci d'avance...

Reply

Marsh Posté le 06-02-2005 à 17:33:08   

Reply

Marsh Posté le 06-02-2005 à 17:35:05    

super, maintenant réfléchi à combien de personnes dans le monde ont un jour écrit un main.h ?
 
#ifndef MAIN_H
-> #ifndef MON_PROJET_MON_NOM_MAIN_H
 
#include <main.h>
-> #include "main.h"


Message édité par Taz le 06-02-2005 à 17:35:25
Reply

Marsh Posté le 06-02-2005 à 17:53:40    

#include <main.h>
-> #include "main.h"
==> Une erreur de frappe lors de l'édition de mon message, dsl
 
#ifndef MAIN_H
-> #ifndef MON_PROJET_MON_NOM_MAIN_H  
==> Je ne comprend trop !!!! Tu pense que MAIN_H serait peut-être déjà défini dans un autre fichier ?
 
Je l'ait modifier mais j'ai toujours l'erreur...

Reply

Marsh Posté le 06-02-2005 à 17:56:49    

montre ton code modifié

Reply

Marsh Posté le 06-02-2005 à 18:03:55    

main.h

Code :
  1. #ifndef TRUC_MAIN_H
  2. #define TRUC_MAIN_H
  3. class Prog: public wxFrame{
  4.    public:
  5.     Prog(const wxChar *title, int xpos, int ypos, int width, int height);
  6.     void OnFichierNouveauPro(wxCommandEvent &event);
  7.     void OnFichierNouveauAll(int);
  8.     void OnFichierOuvrir(wxCommandEvent &event);
  9. };
  10. #endif


 
ouvrir.cpp

Code :
  1. #include "main.h"
  2. void Prog::OnFichierOuvrir(wxCommandEvent &event){
  3.   //CODE
  4. }

Reply

Marsh Posté le 06-02-2005 à 18:23:27    

Grr j'avais oublié de supprimer la fonction "Prog::OnFichierOuvrir" du fichier main.cpp, dsl

Reply

Sujets relatifs:

Leave a Replay

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