0
0

i hav a problem in linking i hav this code

ctrl_son.h :
[code:1hixamdy]#ifndef CTRL_SON_H

define CTRL_SON_H

include "../fmod/include/fmod.h"

//! Liste des canaux utilisés pour jouer de la musique ou des sons
typedef enum
{
CANAL_NULL = 0,
CANAL_MUSIQUE = 0,
CANAL_ENNEMI,
CANAL_BONUS,
CANAL_ARME,
CANAL_JOUEUR1,
CANAL_JOUEUR2,
CANAL_MAX
} ECanaux;

//! Gestionnaire de lectures de sons
class CSoundManager
{
private:
//! La préciseuse et unique instance de CSoundManager
static CSoundManager *m_pSoundManager;

//! Liste des sons, un son disponible pour chaque canal.
FSOUND_STREAM* m_pSon[CANAL_MAX];
//! Etat actif ou non des canaux déduiés au jeu lui-même
bool m_bCanauxJeu;

CSoundManager ();
~CSoundManager ();

public:
//! Creation ou récupération de l’instance du gestionnaire de lectures de sons
static CSoundManager* Create ();
//! Suppression de l’instance de gestionnaire de lectures de sons si elle existe.
static void Kill ();

//! Lecture d'un son
void Jouer (const char* szFilename, ECanaux Canal, bool bLoop = false);
//! Active les canaux de jeux
void ActiverCanauxJeu () {m_bCanauxJeu = true;}
//! Desactive les canaux de jeux
void DeactiverCanauxJeu () {m_bCanauxJeu = false;}

};

endif //CTRL_SON_H

[/code:1hixamdy]

ctrl_son.cpp :
[code:1hixamdy]#include "ctrl_son.h"

CSoundManager* CSoundManager::m_pSoundManager = 0;

CSoundManager::CSoundManager ()
{
m_bCanauxJeu = true;

// On initialise Fmod : Fréquence de sortie, nombre de canaux utilisés et option (non util pour nous)
FSOUND_Init (44100, CANAL_MAX, 0);

// On initialise tous les canaux de sons à 0 pour pouvoir vérifier qu'ils sont utilisés ou non.
for (int Canal = CANAL_NULL; Canal < CANAL_MAX; Canal++)
    m_pSon[Canal] = 0;

}

CSoundManager::~CSoundManager ()
{
// On libère tous les canaux
for (int Canal = CANAL_NULL; Canal < CANAL_MAX; Canal++)
if (m_pSon[Canal])
FSOUND_Stream_Close (m_pSon[Canal]);
}

// Creation ou récupération de l’instance du gestionnaire de sons.
// Si l’instance n’existe pas (m_pSoundManager == 0), on la créé.
CSoundManager* CSoundManager::Create ()
{
if (m_pSoundManager == 0)
m_pSoundManager = new CSoundManager;
return m_pSoundManager;
}

// Suppression de l’instance du gestionnaire de sons si elle existe.
void CSoundManager::Kill ()
{
if (m_pSoundManager != 0)
{
delete m_pSoundManager;
m_pSoundManager = 0;
}
}

// Lecture des sons. Ils sont lu par streaming c’est à dire qu’ils sont chargés pendant la lecture.
void CSoundManager::Jouer (const char* szFilename, ECanaux Canal, bool bLoop)
{
if (!m_bCanauxJeu && Canal != CANAL_MUSIQUE)
return;

if (m_pSon[Canal])
    FSOUND_Stream_Close (m_pSon[Canal]);

// Si bLoop == true alors le son boucle.
if (bLoop)
{
    FSOUND_SetLoopMode (0, FSOUND_LOOP_NORMAL);
    m_pSon[Canal] = FSOUND_Stream_Open (szFilename, FSOUND_LOOP_NORMAL, 0, 0);
}
// Sinon il est jouer une seule fois.
else
{
    m_pSon[Canal] = FSOUND_Stream_Open (szFilename, FSOUND_NORMAL, 0, 0);
}

FSOUND_Stream_Play (Canal, m_pSon[Canal]);

}
[/code:1hixamdy]

and the debuggueur say :
[code:1hixamdy]——————–Configuration: Demo_BSP – Win32 Release——————–
Linking...
ctrl_son.obj : error LNK2001: unresolved external symbol _FSOUND_Init@12
ctrl_son.obj : error LNK2001: unresolved external symbol _FSOUND_Stream_Close@4
ctrl_son.obj : error LNK2001: unresolved external symbol _FSOUND_Stream_Play@8
ctrl_son.obj : error LNK2001: unresolved external symbol _FSOUND_Stream_Open@16
ctrl_son.obj : error LNK2001: unresolved external symbol _FSOUND_SetLoopMode@8
../../Common/Bin/Release/Demo_BSP.exe : fatal error LNK1120: 5 unresolved externals
Error executing link.exe.

Demo_BSP.exe – 6 error(s), 0 warning(s)[/code:1hixamdy]

Hav u an idea of what is it ?[/quote]

  • You must to post comments
0
0

It seems you are using VC++ : go to Project –> Settings (or ALT + F7), “Link” tab, add “fmodvc.lib” in the Object/librairies modules.
fmodvc.lib must be somewhere in your $PATH. (normaly in your $VC_PATH\lib).

  • You must to post comments
0
0

ok i test and i say to u

  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.