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 !