ID do artigo: 125750 - Última revisão: terça-feira, 31 de maio de 2005 - Revisão: 4.1

Você receber uma mensagem de erro "_WinMain@16 símbolo externo não resolvidos" ao tentar criar um aplicativo do MFC com suporte a Unicode no Visual C++

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Observação : Microsoft Visual C++ NET (2002) com suporte tanto o modelo de código gerenciado que é fornecido pelo .NET Framework e do Windows nativo não gerenciado modelo de código. As informações contidas neste artigo se aplicam ao Visual C++ não gerenciado somente de código.
Expandir tudo | Recolher tudo

Sintomas

O vinculador gera o erro a seguir, quando você cria um aplicativo MFC com suporte a UNICODE usando os produtos da Microsoft listados no começo deste artigo:
Msvcrt.lib(crtexew.obj): erro LNK2001: externo não resolvido
símbolo "_WinMain@16"
Visual C++ .NET:
Erro LNK2019: unresolved _WinMain@16 símbolo externo referenciado na função _WinMainCRTStartup
Erro fatal LNK1120: 1 não resolvidos de itens externos

Causa

Aplicativos MFC UNICODE usam wWinMainCRTStartup como ponto de entrada.

Resolução

Na categoria de saída da guia link no Project caixa de diálogo Configurações, defina o símbolo de ponto de entrada para wWinMainCRTStartup.

Para Visual C++ .NET: In a categoria avançada da pasta vinculador na caixa de diálogo Project Properties, defina o ponto de entrada como wWinMainCRTStartup.

Situação

Esse comportamento é por design.

Referências

As informações acima estão documentadas no Books Online nessa estrutura:
 - C/C++
    - Programming Techniques
       - Chapter 12 Developing for International Markets
          - Support for Unicode
             - Unicode Programming: Summary
				
esta referência também lista as etapas adicionais que você precisa considerar para aproveitar o suporte de tempo de execução MFC e C para Unicode.

A informação contida neste artigo aplica-se a:
  • The C Run-Time (CRT) nas seguintes plataformas
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 4.0 Standard Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
    • Microsoft Visual C++ .NET 2002 Standard Edition
    • Microsoft Visual C++ .NET 2003 Standard Edition
Palavras-chave: 
kbmt kbtshoot kberrmsg kbprb KB125750 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 125750  (http://support.microsoft.com/kb/125750/en-us/ )