NICDlg.obj : error LNK2001: unresolved external symbol __imp__waveInStart@4
NICDlg.obj : error LNK2001: unresolved external symbol __imp__waveInAddBuffer@12
NICDlg.obj : error LNK2001: unresolved external symbol __imp__waveInPrepareHeader@12
NICDlg.obj : error LNK2001: unresolved external symbol __imp__waveInOpen@24
Debug/NIC.exe : fatal error LNK1120: 4 unresolved externals

解决方案 »

  1.   

    DEBUG 一下 把代码帖出来看看
      

  2.   

    在debug之前,就已经出现这个错误拉.
    我在类当中定义了下边这些变量,开始的时候说这些是不知道类型的变量.
    HWAVEIN hWaveIn;
    HWAVEOUT hWaveOut;
    PBYTE pBuffer1,pBuffer2,pSaveBuffer,pNewBuffer;
    PWAVEHDR pWaveHdr1,pWaveHdr2;
    WAVEFORMATEX waveform;
    DWORD dwDataLength,dwRepetitions;
    后来我在我的窗口头文件中加入了
    #include "Mmsystem.h"
    #include "Mmreg.h"
    就出现上面的五个错误了。
      

  3.   

    一下是我的代码
    pBuffer1=(PBYTE)malloc(INP_BUFFER_SIZE);
    pBuffer2=(PBYTE)malloc(INP_BUFFER_SIZE);
    if (!pBuffer1 || !pBuffer2) {
    if (pBuffer1) free(pBuffer1);
    if (pBuffer2) free(pBuffer2);
    MessageBeep(MB_ICONEXCLAMATION);
    AfxMessageBox("Memory erro!");
    return ;
    }


    waveform.wFormatTag=WAVE_FORMAT_PCM;
    waveform.nChannels=1;
    waveform.nSamplesPerSec=11025;
    waveform.nAvgBytesPerSec=11025;
    waveform.nBlockAlign=1;
    waveform.wBitsPerSample=8;
    waveform.cbSize=0;
    if (waveInOpen(&hWaveIn,WAVE_MAPPER,&waveform,(DWORD)this->m_hWnd,NULL,CALLBACK_WINDOW)) {
    free(pBuffer1);
    free(pBuffer2);
    MessageBeep(MB_ICONEXCLAMATION);
    AfxMessageBox("Audio can not be open!");
    }
    pWaveHdr1->lpData=(LPTSTR)pBuffer1;
    pWaveHdr1->dwBufferLength=INP_BUFFER_SIZE;
    pWaveHdr1->dwBytesRecorded=0;
    pWaveHdr1->dwUser=0;
    pWaveHdr1->dwFlags=0;
    pWaveHdr1->dwLoops=1;
    pWaveHdr1->lpNext=NULL;
    pWaveHdr1->reserved=0;

    waveInPrepareHeader(hWaveIn,pWaveHdr1,sizeof(WAVEHDR));

    pWaveHdr2->lpData=(LPTSTR)pBuffer2;
    pWaveHdr2->dwBufferLength=INP_BUFFER_SIZE;
    pWaveHdr2->dwBytesRecorded=0;
    pWaveHdr2->dwUser=0;
    pWaveHdr2->dwFlags=0;
    pWaveHdr2->dwLoops=1;
    pWaveHdr2->lpNext=NULL;
    pWaveHdr2->reserved=0;

    waveInPrepareHeader(hWaveIn,pWaveHdr2,sizeof(WAVEHDR));

    pSaveBuffer = (PBYTE)realloc (pSaveBuffer, 1) ;

    waveInAddBuffer (hWaveIn, pWaveHdr1, sizeof (WAVEHDR)) ;
    waveInAddBuffer (hWaveIn, pWaveHdr2, sizeof (WAVEHDR)) ;

    dwDataLength = 0 ;
    waveInStart (hWaveIn) ;