Salut a tous

Voila, j'essai de faire une classe de type Singleton et j'ai un problème lors de la compilation... voici le code

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
 
#ifndef MUSICMANAGER_H
#define MUSICMANAGER_H
 
class MusicManager
{
private:
    MusicManager() {}
    ~MusicManager() {}
public:
    inline void setMusicPath(QString path)
    {
        m_currentMusicPath = path;
    }
 
    inline QString getMusicPath()
    {
        return m_currentMusicPath;
    }
 
    inline static MusicManager *getInstance()
    {
        if(NULL == m_musicMgr)
        {
            m_musicMgr = new MusicManager;
        }
        return m_musicMgr;
    }
 
    inline static void deleteInstance()
    {
        if(NULL != m_musicMgr)
        {
            delete m_musicMgr;
            m_musicMgr = NULL;
        }
    }
 
private:
    QString                     m_currentMusicPath;
    static MusicManager        *m_musicMgr;
};
 
MusicManager *MusicManager::m_musicMgr = NULL;
#endif // MUSICMANAGER_H
Lorsque je compile j'obtiens l'erreur :
- multiple definition of 'MusicManager::m_musicMgr
- first defined here
- ...

J'ai du louper un truc, je ne comprends pas trop ou est le problème. Tout est défini dans le fichier .h. J'ai essayé en séparant les déclarations des sources (dans un .h et .cpp) et sa fait exactement la même chose...

Merci d'avance