Import de fichier .lib
Publié : ven. 14/sept./2007 15:03
Bonjour .
Voici mon problème: Depuis quelques temps j'essai d'utiliser la librairie opensource StSound GPL de Leonard pour lire les fichiers de musique Atari au format YM mais je ne m'en sors pas. Voici le code source en C:
Et voici ce que j'ai tapé après pas mal de recherches sur les forums anglais et français:
J'ai essayé différentes choses:
- Remplacer ImportC par import
- Mettre un "_" devant le nom entre guillemets dans la section d'import, comme la ligne de la fonction ymMusicLoad
- Pleins d'autre variantes dont je ne me souviens plus..
.. je ne m'en sors pas.
Le message que j'ai actuellement avec le code ci-dessus est :
Donc merci d'avance de bien vouloir m'empecher de me noyer..
Zorg
Voici mon problème: Depuis quelques temps j'essai d'utiliser la librairie opensource StSound GPL de Leonard pour lire les fichiers de musique Atari au format YM mais je ne m'en sors pas. Voici le code source en C:
Code : Tout sélectionner
// Create object
extern YMMUSIC * ymMusicCreate();
// Release object
extern void ymMusicDestroy(YMMUSIC *pMusic);
// Functions
extern ymbool ymMusicLoad(YMMUSIC *pMusic,const char fName); // Method 1 : Load file using stdio library (fopen/fread, etc..)
extern ymbool ymMusicLoadMemory(YMMUSIC *pMusic,void *pBlock,ymu32 size); // Method 2 : Load file from a memory block
extern ymbool ymMusicCompute(YMMUSIC *pMusic,ymsample *pBuffer,ymint nbSample); // Render nbSample samples of current YM tune into pBuffer PCM 16bits mono sample buffer.
extern void ymMusicSetLoopMode(YMMUSIC *pMusic,ymbool bLoop);
extern const char * ymMusicGetLastError(YMMUSIC *pMusic);
extern int ymMusicGetRegister(YMMUSIC *pMusic,ymint reg);
extern void ymMusicGetInfo(YMMUSIC *pMusic,ymMusicInfo_t *pInfo);
extern void ymMusicPlay(YMMUSIC *pMusic);
extern void ymMusicPause(YMMUSIC *pMusic);
extern void ymMusicStop(YMMUSIC *pMusic);
extern ymbool ymMusicIsSeekable(YMMUSIC *pMusic);
extern ymu32 ymMusicGetPos(YMMUSIC *pMusic);
extern void ymMusicSeek(YMMUSIC *pMusic,ymu32 timeInMs);
Code : Tout sélectionner
Global YMMUSIC.l
ImportC "StSoundLibrary.lib"
ymMusicCreate.l() As "ymMusicCreate"
;ymMusicLoad(*pMusic, *pFileName) As "_ymMusicLoad@8" ; Method 1 : Load file using stdio library (fopen/fread, etc..)
EndImport
YMMUSIC=ymMusicCreate()
;ymMusicLoad(0,0);
MessageRequester("Titre fenetre",Str(YMMUSIC),#PB_MessageRequester_Ok)
- Remplacer ImportC par import
- Mettre un "_" devant le nom entre guillemets dans la section d'import, comme la ligne de la fonction ymMusicLoad
- Pleins d'autre variantes dont je ne me souviens plus..
.. je ne m'en sors pas.
Le message que j'ai actuellement avec le code ci-dessus est :
Sinon j'ai bien copié ma libraire dans le répertoire C:\Program Files\PureBasic\PureLibraries\Windows\Libraries.POLINK: error: Unresolved external symbol 'ymMusicCreate'.
Donc merci d'avance de bien vouloir m'empecher de me noyer..
Zorg