Bonjour,
Je suis en train d'écrire un petit code en C et j'ai une erreur lors du linkage :
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 !
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': ...
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 !
Partager