Cry about...
MS-Windows Troubleshooting


error LNK2001: unresolved external symbol _WinMain@16


Symptom:

Microsoft Visual C++ generates the link error:

msvcrt.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

or

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

Cause:

The linker is looking for the entry point for a console application, but the application is being compiled and linked as a windows application (i.e. not a console application).

This error has been observed after changing the project settings from using MBCS to UNICODE characters.

Remedy:

Under the project settings, under the ‘Link’ tab, category ‘output’, set the ‘Entry-point symbol’ to ‘wWinMainCRTStartup’.



About the author: is a dedicated software developer and webmaster. For his day job he develops websites and desktop applications as well as providing IT services. He moonlights as a technical author and consultant.