我刚开始自学visual C++,从网上下载了一些程序,用VC调试出现错误,烦请大侠赐教!我的分不多,不要见怪

[复制链接]
查看11 | 回复4 | 2011-8-24 11:07:11 | 显示全部楼层 |阅读模式
程序源码:
#include
#include
LRESULT CALLBACK WinSunProc(
HWND hwnd,
// handle to window
UINT uMsg,
// message identifier
WPARAM wParam,// first message parameter
LPARAM lParam // second message parameter
);
int WINAPI WinMain(
HINSTANCE hInstance,
// handle to current instance
HINSTANCE hPrevInstance,// handle to previous instance
LPSTR lpCmdLine,
// command line
int nCmdShow
// show state
)
{
        WNDCLASS wndcls;
        wndcls.cbClsExtra=0;
        wndcls.cbWndExtra=0;
        wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
        wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
        wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
        wndcls.hInstance=hInstance;
        wndcls.lpfnWndProc=WinSunProc;
        wndcls.lpszClassName="Weixin2003";
        wndcls.lpszMenuName=NULL;
        wndcls.style=CS_HREDRAW | CS_VREDRAW;
        RegisterClass(&wndcls);
        HWND hwnd;
        hwnd=CreateWindow("Weixin2003","北京维新科学技术培训中心",WS_OVERLAPPEDWINDOW,
                0,0,600,400,NULL,NULL,hInstance,NULL);
        ShowWindow(hwnd,SW_SHOWNORMAL);
        UpdateWindow(hwnd);
        MSG msg;
        while(GetMessage(&msg,NULL,0,0))
        {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }
        return 0;
}
LRESULT CALLBACK WinSunProc(
HWND hwnd,
// handle to window
UINT uMsg,
// message identifier
WPARAM wParam,// first message parameter
LPARAM lParam // second message parameter
)
{
        switch(uMsg)
        {
        case WM_CHAR:
                char szChar[20];
                sprintf(szChar,"char is %d",wParam);
                MessageBox(hwnd,szChar,"weixin",0);
                break;
        case WM_LBUTTONDOWN:
                MessageBox(hwnd,"mouse clicked","weixin",0);
                HDC hdc;
                hdc=GetDC(hwnd);
                TextOut(hdc,0,50,"计算机编程语言培训",strlen("计算机编程语言培训"));
                ReleaseDC(hwnd,hdc);
                break;
        case WM_PAINT:
                HDC hDC;
                PAINTSTRUCT ps;
                hDC=BeginPaint(hwnd,&ps);
                TextOut(hDC,0,0,"维新培训",strlen("维新培训"));
                EndPaint(hwnd,&ps);
                break;
        case WM_CLOSE:
                if(IDYES==MessageBox(hwnd,"是否真的结束?","weixin",MB_YESNO))
                {
                        DestroyWindow(hwnd);
                }
                break;
        case WM_DESTROY:
                PostQuitMessage(0);
                break;
        default:
                return DefWindowProc(hwnd,uMsg,wParam,lParam);
        }
        return 0;
}
在电脑上调试后显示:
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/WinMain.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
WinMain.exe - 1 error(s), 0 warning(s)

回复

使用道具 举报

千问 | 2011-8-24 11:07:11 | 显示全部楼层
程序没有错,是你的文件建立除了错,这个程序是一个win32平台下的程序,不能用c++ sourse file来建立,在新建中选择projects,如果你用的是中文版,名字我记不得了,就是第二个标签,然后选择win 32 Application,倒数第4个选项,注意右边选择,creat new workspace,就是创建新工作空间,之后选择a simple win32,就是第2个选项,然后完成在左边的窗口中将classes打开点开winmain,里面除了第一句#include "stdafx.h",全部删掉,然后复制进去就行了...
回复

使用道具 举报

千问 | 2011-8-24 11:07:11 | 显示全部楼层
将“文件”-“参数选择”-“智能代理”的勾去掉。。。...
回复

使用道具 举报

千问 | 2011-8-24 11:07:11 | 显示全部楼层
将“文件”-“参数选择”-“智能代理”的勾去掉。。。...
回复

使用道具 举报

千问 | 2011-8-24 11:07:11 | 显示全部楼层
同意楼上的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行