error C2731: “WinMain”: 无法重载函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error C2731: “WinMain”: 无法重载函数相关的知识,希望对你有一定的参考价值。
1>正在编译...
1>Lesson.cpp
1>c:\program files\microsoft visual studio\myprojects\lesson11\lesson.cpp(24) : error C2731: “WinMain”: 无法重载函数
1> c:\program files\microsoft visual studio\myprojects\lesson11\lesson.cpp(18) : 参见“WinMain”的声明
//
//
//
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nShowCmd
)
WNDCLASS wcex;
wcex.cbClsExtra=0;
wcex.cbWndExtra=0;
wcex.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wcex.hCursor=LoadCursor(NULL,IDC_HELP);
wcex.hIcon=LoadIcon(NULL,IDI_ERROR);
wcex.hInstance=hInstance;
wcex.lpfnWndProc=WinSunProc;
wcex.lpszClassName="ablso1990";
wcex.lpszMenuName=NULL;
wcex.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wcex);
HWND hwnd;
hwnd=CreateWindow("ablso1990","ablso",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;
//
//
//
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
产生这个问题的真正原因是C语言运行时找不到适当的程序入口函数,一般情况下,如果是windows程序,那么WinMain是入口函数,在VS2008中新建项目为“win32项目”,如果是dos控制台程序,那么main是入口函数,在VS2008中新建项目为“win32控制台应用程序”,
而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误,需要修改设置以适应你的需求。
windows程序:
1.菜单中选择 Project->Properties, 弹出Property Pages窗口
2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 添加_WINDOWS.
3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)
控制台程序:
1.菜单中选择 Project->Properties, 弹出Property Pages窗口
2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_WINDOWS, 添加_CONSOLE.
3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为CONSOLE(/SUBSYSTEM:CONSOLE)
— 转自http://blog.csdn.net/playstudy/article/details/6661868
以上是关于error C2731: “WinMain”: 无法重载函数的主要内容,如果未能解决你的问题,请参考以下文章
libcmtd.lib(wincrt0.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 __tmainCRTStartup 中被引用
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCR...
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 __imp_CommandLineToArgvW,该符号在函数 WinMain 中被引用