首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

第一次编译windows程序,就出错了,帮忙看看哈~解决方法

2012-03-24 
第一次编译windows程序,就出错了,帮忙看看哈~#includewindows.hLRESULTCALLBACKWndProc(HWND,UINT,WPARA

第一次编译windows程序,就出错了,帮忙看看哈~
#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,                                     //   window   class   name
                                                    TEXT   ( "The   Hello   Program "),   //   window   caption
                                                    WS_OVERLAPPEDWINDOW,                 //   window   style


                                                    CW_USEDEFAULT,                             //   initial   x   position
                                                    CW_USEDEFAULT,                             //   initial   y   position
                                                    CW_USEDEFAULT,                             //   initial   x   size
                                                    CW_USEDEFAULT,                             //   initial   y   size
                                                    NULL,                                               //   parent   window   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)   ;
}

错误信息:
Compiling...
user.c
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(144)   :   error   C2061:   syntax   error   :   identifier   'WCHAR '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(144)   :   error   C2059:   syntax   error   :   '; '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(150)   :   error   C2143:   syntax   error   :   missing   '{ '   before   '* '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(151)   :   error   C2143:   syntax   error   :   missing   '{ '   before   '* '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(152)   :   error   C2143:   syntax   error   :   missing   '{ '   before   '* '


c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(153)   :   error   C2143:   syntax   error   :   missing   '{ '   before   '* '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(154)   :   error   C2143:   syntax   error   :   missing   '{ '   before   '* '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(156)   :   error   C2143:   syntax   error   :   missing   '{ '   before   '* '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(4734)   :   error   C2061:   syntax   error   :   identifier   'WCHAR '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(4735)   :   error   C2059:   syntax   error   :   '} '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(4767)   :   error   C2061:   syntax   error   :   identifier   'WCHAR '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(4768)   :   error   C2059:   syntax   error   :   '} '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(4774)   :   error   C2061:   syntax   error   :   identifier   'WCHAR '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(4775)   :   error   C2059:   syntax   error   :   '} '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(4779)   :   error   C2059:   syntax   error   :   '} '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(4780)   :   error   C2059:   syntax   error   :   '} '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(6160)   :   error   C2061:   syntax   error   :   identifier   'WCHAR '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(6161)   :   error   C2059:   syntax   error   :   '} '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(6776)   :   error   C2061:   syntax   error   :   identifier   'WCHAR '
c:\program   files\microsoft   visual   studio\vc98\include\winnt.h(6779)   :   error   C2059:   syntax   error   :   '} '
c:\program   files\microsoft   visual   studio\vc98\include\winbase.h(2)   :   warning   C4182:   #include   nesting   level   is   363   deep;   possible   infinite   recursion
c:\program   files\microsoft   visual   studio\vc98\include\winbase.h(2)   :   fatal   error   C1076:   compiler   limit   :   internal   heap   limit   reached;   use   /Zm   to   specify   a   higher   limit
执行   cl.exe   时出错.
Creating   command   line   "bscmake.exe   /nologo   /o "Debug/user.bsc "     ".\Debug\user.sbr " "
Creating   browse   info   file...
BSCMAKE:   error   BK1506   :   cannot   open   file   '.\Debug\user.sbr ':   No   such   file   or   directory


执行   bscmake.exe   时出错.

[解决办法]
PlaySound
static TCHAR szAppName[] = TEXT ( "HelloWin ") ;

这两个地方都有问题
第一个需要额外的lib
第二个需要定义#define UNICODE

热点排行