You receive an "unresolved external symbol _WinMain@16" error message when you try to build an MFC application with Unicode support in Visual C++ (125750)
The information in this article applies to:
- The C Run-Time (CRT), when used with:
- Microsoft Visual C++, 32-bit Editions 2.0
- Microsoft Visual C++, 32-bit Editions 2.1
- Microsoft Visual C++, 32-bit Editions 4.0
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0
- Microsoft Visual C++, 32-bit Enterprise Edition 6.0
- Microsoft Visual C++, 32-bit Professional Edition 5.0
- Microsoft Visual C++, 32-bit Professional Edition 6.0
- Microsoft Visual C++, 32-bit Learning Edition 6.0
- Microsoft Visual C++ .NET (2002)
- Microsoft Visual C++ .NET (2003)
This article was previously published under Q125750 NOTE: Microsoft Visual C++ NET (2002) supported both the managed code
model that is provided by the .NET Framework and the unmanaged native Windows
code model. The information in this article applies to unmanaged Visual C++
code only. SYMPTOMS The linker generates the following error, when you build an
MFC application with UNICODE support using the Microsoft products listed at the
beginning of this article: msvcrt.lib(crtexew.obj) :
error LNK2001: unresolved external symbol "_WinMain@16" Visual
C++ .NET: error LNK2019: unresolved external symbol
_WinMain@16 referenced in function _WinMainCRTStartup fatal error LNK1120:
1 unresolved externals CAUSE MFC UNICODE applications use wWinMainCRTStartup as the
entry point. RESOLUTION In the Output category of the Link tab in the Project
Settings dialog box, set the Entry Point Symbol to wWinMainCRTStartup.
For Visual C++ .NET: In the Advanced category of the Linker folder
in the Project Properties dialog box, set the Entry Point to
wWinMainCRTStartup. STATUS
This behavior is by design.REFERENCES The above information is documented in Books Online under
this structure:
- C/C++
- Programming Techniques
- Chapter 12 Developing for International Markets
- Support for Unicode
- Unicode Programming: Summary
This reference also lists the additional steps that you need to
consider to take advantage of the MFC and C run-time support for Unicode.
| Modification Type: | Major | Last Reviewed: | 5/31/2005 |
|---|
| Keywords: | kbtshoot kberrmsg kbprb KB125750 kbAudDeveloper |
|---|
|