void CChildView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
// TODO: Add your message handler code here and/or call default
if(m_bGamePause)
return;
if(m_Objects[MYSHIP].GetCount()==0)//my ship is not exist
return;
//double "my ship"
CMyShip* pShip1 = (CMyShip*)m_Objects[MYSHIP].GetHead(); // remember that our ship1 is the first object[MYSHIP] in object list
CMyShip* pShip2 = (CMyShip*)m_Objects[MYSHIP].GetTail(); // remember that our ship2 is the last object[MYSHIP] in object list switch(nChar)
{
case VK_LEFT:       // turn left
pShip1->SetMotion(-1);
break;

case VK_RIGHT: // turn right
pShip1->SetMotion(1);
break; case VK_NUMPAD2: // throw bomb from middle
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x+SHIP_WIDTH/2-BOMB_WIDTH/2, 9));
break;
case VK_NUMPAD1:
case VK_SPACE:
// throw bomb on left side
sndPlaySound((LPCTSTR)LockResource(m_pSndexplo), 
SND_MEMORY | SND_ASYNC | SND_NODEFAULT);
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x-BOMB_WIDTH/2, 4));
break;

case VK_NUMPAD3:
// throw bomb on right side
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x+SHIP_WIDTH-BOMB_WIDTH/2, 3));
break;
}//switch// CWnd ::OnKeyDown(nChar, nRepCnt, nFlags);
}1>ChildView.obj : error LNK2019: 无法解析的外部符号 __imp__sndPlaySoundA@8,该符号在函数 "protected: void __thiscall CChildView::OnKeyDown(unsigned int,unsigned int,unsigned int)" (?OnKeyDown@CChildView@@IAEXIII@Z) 中被引用
1>.\Debug\ShipDemo.exe : fatal error LNK1120: 1 个无法解析的外部命令
这错误怎么改啊?
内容太长了,不能全发上来

解决方案 »

  1.   

    sndPlaySound 这个函数实现在哪。添加它的cpp或者lib
      

  2.   

    楼主以下内容是我从msdn上复制下来的
      Windows NT/2000: Requires Windows NT 3.1 or later.
      Windows 95/98: Requires Windows 95 or later.
      Header: Declared in Mmsystem.h.
      Library: Use Winmm.lib.
      Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.
    你看看是不是Winmm.lib这个忘记添加了,你这个问题应该是编译没错,连接出问题了,也就是说你头文件引用了但是lib库忘记加了,试试 #pragma comment(lib,"Winmm.lib")