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 :

multiple definition (encore)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut multiple definition (encore)
    Bonjour,

    Je suis en train d'écrire un petit code en C et j'ai une erreur lors du linkage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /opt/montavista/previewkit/mips/fp_le/bin/mips_fp_le-gcc -Wall -g  -o hhds main.o oneWire.o serialPort.o msgQueue.o dataSentTable.o watchHandler.o telegramHandler.o ftpHandler.o serialPortBuffer.o watchParameter.o config.o fget_wrapper.o watchPresent.o writeFunc.o openvpn.o ntpClient.o statusFile.o sema.o ipcSync.o -lm libfget.a
    ipcSync.o(.text+0x0): In function `lockShmem':
    /home/morand/projects/hdds/app/ipcSync.c:42: multiple definition of `lockShmem'
    watchHandler.o(.text+0x0):/home/morand/projects/hdds/app/ipcSync.c:42: first defined here
    ipcSync.o(.text+0x94): In function `unLockShmem':
    ...
    Marrant à la ligne 42 et la fonction est définie à la ligne 42 pour la première fois ... Ceci pour toutes les fonctions qui se trouvent dans ce source (ipcSync). J'ai essayé de "cat|grepper" mon code et d'"objdumper" mon .o et je suis pourtant certain que ces fonctions sont bel et bien définits qu'une seule fois !

    J'ai un fichier ipcSync.h qui contient les signatures des méthodes, un ipcSync.c qui contient leur implémentation en plus de quelques méthodes "locales", la routine quoi ...Ca doit être tellement baleau... mais je trouve pas !

    Merci pour votre aide !

  2. #2
    Membre éclairé Avatar de Fooshi
    Homme Profil pro
    ICD
    Inscrit en
    Juin 2002
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ICD
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 508
    Par défaut
    Peu tu nous donner le code qui se trouve dans 'unLockShmem' stp ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut
    Volontiers !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int unLockShmem()
    {
    	if((semaPost(semid)) < 0)
    	{
    		perror("ipcSync couldn't post semaphore !");
    		return -1;
    	}
    	else return 0;
    }
    En fait, cette fonction n'est pas définie dans le .h car elle est utilisée seulement en interne... Mais j'ai aussi ce problème pour les fonctions qui se trouvent dans le .h même si j'ai fait un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #ifndef _IPC_SYNC_H
    #define _IPC_SYNC_H
    ...
    #endif

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut
    Ha le co*ç&"*& !!!!

    Ben en objdumpant tout mes .o, j'ai découvert qu'en fait j'ai inclue ipcSync.c au lieu de ipcSync.h dans un autre fichier source ....

    Merci pour votre aide, désolé du désagrément ! :-p

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/09/2006, 15h42
  2. Multiple definition
    Par vdumont dans le forum C++
    Réponses: 6
    Dernier message: 11/05/2006, 19h21
  3. multiple definition of operator<<...
    Par kleenex dans le forum C++
    Réponses: 3
    Dernier message: 05/05/2006, 02h56
  4. [LG]Interfaces et multiples définitions
    Par fatt dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2004, 22h41
  5. 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