<>书中程序编译错误

argue2000 2006-02-07 01:34:00
/*--------------------------------------

HELLOWIN.C--Display"Hello,Windows 98!" in client area

(c) Liu Haipeng, 2006

--------------------------------------*/

#include<windows.h>


LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("HelloWin") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;

wndclass.style =CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc =WndProc ;
wndclass.cbClsExtra =0 ;
wndclass.cbWndExtra =0 ;
wndclass.hInstance =hInstance ;
wndclass.hIcon =LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor =LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName =NULL ;
wndclass.lpszClassName =szAppName ;

if (!RegisterClass (&wndclass))
{
MessageBox (NULL, TEXT ("This program requires Windows NT!"),
szAppName, MB_ICONERROR) ;
return 0;
}

hwnd =CreateWindow (szAppName, // windows class name
TEXT ("The Hello Program"), // windows caption
WS_OVERLAPPEDWINDOW, // windows style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent windows handle
NULL, // window menu handle
hInstance, // program instance handle
NULL) ; // creation parameters

ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;

while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;

switch (message)
{
case WM_CREATE:
PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;
return 0 ;

case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;

GetClientRect (hwnd, &rect) ;

DrawText (hdc, TEXT ("Hello,Windows 98!"), -1,&rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

EndPaint (hwnd ,&ps) ;
return 0 ;

case WM_DESTROY:
PostQuitMessage (0);
return 0;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}



这个是我敲的,语法错误什么都改过来了,但是还有2个错误我改不过来,


Deleting intermediate files and output files for project 'HELLOWIN - Win32 Debug'.
--------------------Configuration: HELLOWIN - Win32 Debug--------------------
Compiling...
HELLOWIN.C
Linking...
HELLOWIN.OBJ : error LNK2001: unresolved external symbol __imp__PlaySoundA@12
Debug/HELLOWIN.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

HELLOWIN.exe - 2 error(s), 0 warning(s)

然后我把在网上找的源码编译了一下 也是上面的错误

我在群里问了一下,一个兄弟说是
可能是叫mmsystem的lib没有加进去

SOHO/刹车(12459568) 12:57:21
谢谢了
初学 不会查啊
大概怎么加啊?
XXXXXXXXXXXXXX(8344236) 12:55:02
__imp__PlaySoundA@12

import library playsoundA() fuction

#include <mmsystem.h>

顺便说一下我用的visual studio6.0 操作系统是windows XP sp1,会不会是这个的问题?
...全文
90 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rageliu 2006-02-07
  • 打赏
  • 举报
回复
我在群里问了一下,一个兄弟说是
可能是叫mmsystem的lib没有加进去

如果是少了lib文件:
1. project->seeting->link里面加
2. 直接加入#pragma comment(lib,"mmsystem.lib")
王国凡 2006-02-07
  • 打赏
  • 举报
回复
If you use Microsoft Visual C++ to create a new project for this program, you need to make an addition to the object libraries the linker uses. Select the Settings option from the Project menu, and pick the Link tab. Select General from the Category list box, and add WINMM.LIB ("Windows multimedia") to the Object/Library Modules text box. You need to do this because HELLOWIN makes use of a multimedia function call, and the multimedia object library isn't included in a default project. Otherwise you'll get an error message from the linker indicating that the PlaySound function is unresolved.
argue2000 2006-02-07
  • 打赏
  • 举报
回复
我不会加那个mmsystem的lib,大家说详细点吧

帮我加一下

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧