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

C++ Discussion :

g++ - "multiple definition"


Sujet :

C++

  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par d�faut g++ - "multiple definition"
    Hello,

    J'ai r�cup�r� une biblioth�que, et je n'arrive pas � la compiler avec g++, alors que �a marche tr�s bien avec Visual Studio 2005.

    Cela se passe dans un .h. Ce fichier poss�de un espace de nommage. Dans cet espace de nommage sont d�finis une fonction et une classe.

    La fonction n'est.utilis�e que par une fonction publique de cette classe.

    Avec Visual Studio 2005, aucun probl�me.

    Mais g++ me sort un "multiple definition" sur la fonction

    PS : pour info, il s'agit de la biblioth�que PixelToaster
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    namespace PixelToaster
    {
    	Format findFormat(int bitsPerPixel, unsigned long redMask, unsigned long greenMask, unsigned long blueMask)
    	{
    		(...)
    		return Format::Unknown;
    	}
    
    	class UnixDisplay : public DisplayAdapter
    	{
    	public:
    		bool open( const char title[], int width, int height, Output output, Mode mode )
    		{
    			(...)
    			destFormat_ = findFormat(bufferDepth, visual->red_mask, visual->green_mask, visual->blue_mask);
    			(...)
    		}
    	}
    }

  2. #2
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    ton .h contient 2 d�clarations de fonction qui sont aussi des d�finitions
    dans un namespace nomm� PixelToaster. C'est 2 fonctions sont ::findFormat() et UnixDisplay::open().

    Si tu fichier .h est inclus plus qu'une fois dans ton projet, ces 2 fonctions sont d�finies plus qu'une fois.

    Est ce que ce fichier .h est prot�g� des doubles inclusions par quelque chose du genre ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    #ifdef __INCLUDE_MON_FICHIER__
    #define __INCLUDE_MON_FICHIER__
    ...
    mes déclarations/définitions
    ...
    #endif //#ifdef __INCLUDE_MON_FICHIER__
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. multiple definition of operator<<...
    Par kleenex dans le forum C++
    R�ponses: 3
    Dernier message: 05/05/2006, 02h56
  2. [LG]Interfaces et multiples définitions
    Par fatt dans le forum Langage
    R�ponses: 2
    Dernier message: 15/04/2004, 22h41
  3. multiple definition
    Par scorbo dans le forum C
    R�ponses: 5
    Dernier message: 10/09/2003, 13h16

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