当前位置:编程学习 > VC++ >>

求助, 一段VC++代码, 仿照孙鑫那个视频写的, 为什么出错呢?帮忙找找 ,谢谢

错误信息: LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/C.exe : fatal error LNK1120: 1 unresolved externals 执行 link.exe 时出错. C.exe - 1 error(s), 0 warning(s) 代码: #include <windows.h> #include <stdio.h> LRESULT CALLBACK WinLzgProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam); int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { //设计窗口类 WNDCLASS w; w.cbClsExtra = 0; w.cbWndExtra = 0; w.hbrBackground = (HBRUSH)(GetStockObject(BLACK_BRUSH)); w.hCursor = LoadCursor(NULL,IDC_CROSS); w.hIcon = LoadIcon(NULL,IDI_ERROR); w.hInstance = hInstance; w.lpfnWndProc = WinLzgProc; w.lpszClassName = "LG"; w.lpszMenuName = NULL; w.style = CS_HREDRAW|CS_VREDRAW; RegisterClass(&w);//注册 //创建窗口 HWND hwnd; hwnd = CreateWindow("LG","Window",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 WinLzgProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { switch(uMsg) { case WM_CHAR: char c[40]; sprintf(c,"按下的键的ASC2码是: %d",wParam); MessageBox(hwnd,c,"消息",0); break; case WM_PAINT: HDC hDc; PAINTSTRUCT ps; hDc = BeginPaint(hwnd,&ps); TextOut(hDc,0,0,"HELLO WORLD!",strlen("HELLO WORLD!")); EndPaint(hwnd,&ps); break; case WM_LBUTTONDOWN: HDC hdc; hdc = GetDC(hwnd); TextOut(hdc,0,50,"Visual C++ 6.0",strlen("Visual C++ 6.0")); ReleaseDC(hwnd,hdc); break; case WM_CLOSE: if(IDYES == MessageBox(hwnd,"真的要关闭!","消息",MB_YESNO)) { DestroyWindow(hwnd); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd,uMsg,wParam,lParam); } return 0; }
答案:就像楼下说的,你得创建win32窗体工程,而不是win32命令行工程。命令行是与传统C/C++兼容的,应用的入口点为main(如果你深入了解的话,会看到在CRT在外面又包了一层,新手可以忽略不管),而win32窗口应用入口点为WinMain函数。WinMain函数在命令行(cmd)里调用是立即返回的,这个与main不一样。在创建win32命令行工程时,有时看到入口函数(也就是主函数)被命名为_tmain,这个是一样的道理。你只需要知道,操作系统在调用你的程序的时候,它会调用你的main/_tmain/WinMain函数就行了
其他:创建win32工程 

上一个:MFC中这个菜单选中是怎么做到的
下一个:深入浅出MFC和MFC深入浅出是同一本书吗?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,