Bonjour,
Je travaille sur un petit projet de C embarqué. Je souhaite communiquer avec une SD par l'intermédiaire d'un pic18. je débute en C et j'ai quelques difficultés, et notamment lors de la compilation.

J'ai le message d'erreur suivant : Error - symbol 'FSInit' has multiple definitions.
Cette fonction n'apparait que deux fois sur tout le projet, dans le .h ou elle est déclarée de la manière suivante :
et dans un .c :
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
int FSInit(void)
{
    int fIndex;
	BYTE    gBufferZeroed = FALSE;
	FSFILE * cwdptr = &cwd;
#ifndef FS_DYNAMIC_MEM
    for( fIndex = 0; fIndex < FS_MAX_FILES_OPEN; fIndex++ )
        gFileSlotOpen[fIndex] = TRUE;
#else
    #ifdef __18CXX
        SRAMInitHeap();
    #endif
#endif
 
    gBufferZeroed = FALSE;
 
    MDD_InitIO();
 
    if(DISKmount(&gDiskData) == CE_GOOD)
    {
    // Initialize the current working directory to the root
#ifdef ALLOW_DIRS
        cwdptr->dsk = &gDiskData;
        cwdptr->sec = 0;
        cwdptr->pos = 0;
        cwdptr->seek = 0;
        cwdptr->size = 0;
        cwdptr->name[0] = '\\';
        for (fIndex = 1; fIndex < 11; fIndex++)
        {
            cwdptr->name[fIndex] = 0x20;
        }
        cwdptr->entry = 0;
        cwdptr->attributes = ATTR_DIRECTORY;
        // "FatRootDirClusterValue" indicates the root
        cwdptr->dirclus = FatRootDirClusterValue;
        cwdptr->dirccls = FatRootDirClusterValue;
#endif
 
        FSerrno = 0;
        return TRUE;
    }
 
    return FALSE;
}
J'aimerai savoir d'où peut provenir ce type d'erreur. J'espère vous avoir fourni les éléments nécessaires pour me répondre sinon n'hésitez pas à me demander plus d'information.
Merci