我的老师给了我以下代码来制作带有波形可视化的录音机程序。但是我坚持下面显示的错误。
.ccp
#include "StdAfx.h"
#include "resource2.h"
using namespace std;
//Globals for sound wave visualistion
int number, length, byte_samp, byte_sec, bit_samp;
static int sampleRate = 11025;
const int NUMPTS = 11025 * 10;
bool mono = TRUE;
bool PLAY = FALSE;
errno_t wavfile;
char * filename;
int s_rate = 11025;
double limit = 10000.0;
FILE * stream;
/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
/* Declare procedures */
int readSample(int number,bool leftchannel);
void SaveWavFile(char *FileName, PWAVEHDR WaveHeader);
void Wav(char *c, HWND hWnd);
/* Make the class name into a global variable */
char szAppName[ ] = "Recorder";
resource2.h
#ifndef RESOURCE_H_INCLUDED
#define RESOURCE_H_INCLUDED
#define INP_BUFFER_SIZE 16384
#define IDC_RECORD 1
#define IDC_PLAY 2
#define IDC_STOP 3
#define NUM 20000
//defines for menu
#define APP_SAVE 1003
#define APP_EXIT 1004
#endif // RESOURCE_H_INCLUDED
我一直在收到错误:
错误LNK2019:未解析的外部符号 imp__waveOutOpen @ 24 在函数" long __stdcall WindowProcedure中引用(struct HWND *,unsigned int,unsigned int,long)" (?WindowProcedure @@ YGJPAUHWND __ @@ IIJ @ Z)错误LNK2019:未解决 函数中引用的外部符号 imp__waveInPrepareHeader @ 12 " long __stdcall WindowProcedure(struct HWND *,unsigned int,unsigned 整型,长)" (?WindowProcedure @@ YGJPAUHWND __ @@ IIJ @ Z)1> recorder.obj: 错误LNK2019:未解析的外部符号 imp__waveInOpen @ 24 在函数" long __stdcall WindowProcedure中引用(struct HWND *,unsigned int,unsigned int,long)" (?WindowProcedure @@ YGJPAUHWND __ @@ @ IIJ Z)
请告诉我如何解决这个问题,我已经摸不着头几个小时了。
答案 0 :(得分:1)
这不是所有代码,因为没有在其中调用这些函数。它们是winmm.dll
中定义的Windows函数,因此链接到winmm.lib
。究竟该怎么做取决于你的编译器。