2010-11-03 23 views
0

Donc, en général mon code est super simple - je triing écrire programm Microphone Echo et c'est le début (comme il me semble - je me méfie de nouveau à OpenAL)Pourquoi un tel code OpenAL donne-t-il de telles erreurs dans Visual Studio 2008?

#include "stdafx.h" 
#include <iostream> 
#include <windows.h> 
#include <stdlib.h> 
#include <conio.h> 
#include <math.h> 
#include <stdio.h> 

#include <al.h> 
#include <alc.h> 
#include <alut.h> 


using namespace std; 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    cin.get(); 
    return 0; 
} 
void BlockingCapture(ALCdevice *mCaptureDevice, ALCubyte *pBuffer, 
        ALCint iSamplesToGet) 
{ 
    ALCint capturedSamples = 0; 
    while(capturedSamples < iSamplesToGet) 
    { 
     ALCint avail; 
     alcGetIntegerv(mCaptureDevice, ALC_CAPTURE_SAMPLES, 1, &avail); 
     if(avail > 0/*or some threshold*/) 
     { 
      avail = min(avail, iSamplesToGet-capturedSamples); 
      alcCaptureSamples(mCaptureDevice, pBuffer, avail); 
      capturedSamples += avail; 
      pBuffer += avail; 
     } 
     else 
      Sleep(0); 
    } 
} 

lorsque je tente de compiler il me donne 3 erreurs

1) Error 1 error LNK2019: ссылка на неразрешенный внешний символ __imp__alcCaptureSamples в функции "void __cdecl BlockingCapture(struct ALCdevice_struct *,unsigned char *,int)" ([email protected]@[email protected]@[email protected]) HelloOpenALMic.obj HelloOpenALMic

2) Error 2 error LNK2019: ссылка на неразрешенный внешний символ __imp__alcGetIntegerv в функции "void __cdecl BlockingCapture(struct ALCdevice_struct *,unsigned char *,int)" ([email protected]@[email protected]@[email protected]) HelloOpenALMic.obj HelloOpenALMic

3) Error 3 fatal error LNK1120: 2 неразрешенных внешних элементов C:\Users\Avesta\Documents\Visual Studio 2008\Projects\OJ\OJ\V3\Debug\HelloOpenALMic.exe HelloOpenALMic

BTW: (J'ai pris ce post comme point de départ pour mon code.)

Comment se débarrasser d'eux?

Répondre

1

Vous devez lier la bibliothèque OpenAL à votre application.

Allez dans les propriétés du projet-> Linker-> Entrée et ajoutez openal32.lib à la liste.