Você recebe as ferramentas de vinculador "LNK4221" mensagem de aviso quando você tenta adicionar recursos a uma biblioteca está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: 815773
Sumário
Este artigo descreve a mensagem de vinculador ferramentas aviso LNK4221. Este aviso ocorre quando você tenta adicionar recursos a uma biblioteca estática. O vinculador tenta adicionar recursos de uma forma pode ser acessada publicamente. No entanto, o vinculador falha e você receber a seguinte mensagem de aviso:
Aviso LNK4221: encontrado não símbolos públicos; membro de arquivo ficará inacessível
Um arquivo de objeto foi adicionado para uma biblioteca de arquivamento que tem não símbolos públicos. O objeto não está acessível usando comandos de vinculador subseqüentes.
Mais Informações

Passos para reproduzir o problema

Criar e, em seguida, criar uma interface de documento único de MFC (SDI) ou uma interface de múltiplos documentos (MDI) e também um aplicativo baseado em diálogo usando o Assistente de aplicativo. Para fazer isso, execute as seguintes etapas:
  1. Criar e, em seguida, criar um projeto MFC Application. Para fazer isso, execute as seguintes etapas:
    1. Inicie o Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.
    2. No menu arquivo , aponte para novo e, em seguida, clique em Project
    3. Clique em Projetos do Visual c++ em Tipos de projeto e, em seguida, clique em Aplicativo MFC em modelos .

      Observação No Visual Studio 2005, Visual C++ Projects é alterado para Visual C++ .
    4. Na caixa de texto nome , digite MyApp e em seguida, clique em OK .
    5. Clique em Concluir .
    6. Crie projeto MyApp.
    Arquivo de recurso MyApp.res é criado no diretório de depuração.
  2. Criar e, em seguida, criar um projeto do Win32. Para fazer isso, execute as seguintes etapas:
    1. Inicie o Visual Studio .NET ou Visual Studio 2005.
    2. No menu arquivo , aponte para novo e, em seguida, clique em Project
    3. Clique em Projetos do Visual c++ em Tipos de projeto e, em seguida, clique em Projeto Win32 em modelos.

      Observação No Visual Studio 2005, Visual C++ Projects é alterado para Visual C++ .
    4. Na caixa de texto nome , digite TestLib e, em seguida, clique em OK .
    5. No Assistente de aplicativo Win32, clique em Avançar , clique em Configurações do aplicativo , clique em Biblioteca estática em tipo de aplicativo e, em seguida, clique em Concluir .
    6. No Solution Explorer, clique com o botão direito do mouse TestLib , aponte para Add e, em seguida, clique em Add Existing Item .

      Observação No Visual Studio 2005, Add Existing Item é alterado para Existing Item .
    7. Na caixa de diálogo Add Existing Item , localize e, em seguida, adicione MyApp.res .
  3. Crie projeto TestLib. Você receberá a mensagem de aviso que é mencionada na seção "Resumo".
  4. Remove o projeto TestLib MyApp.res. Repita as etapas f e g na etapa 2 para adicionar o arquivo de recurso MyApp.res.
  5. Crie projeto TestLib. Você receberá a mensagem de aviso que é mencionada na seção "Resumo".
Quando você coloca o arquivo de objeto na biblioteca de arquivamento, o arquivo de objeto não está incluído no arquivo de imagem final. Esse comportamento ocorre porque o arquivo de objeto não tem símbolos públicos.

Observação Quando você deseja compartilhar os recursos, coloque os recursos em uma DLL.

Propriedades

ID do Artigo: 815773 - Última Revisão: 01/05/2006 23:55:31 - Revisão: 2.0

Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition, Microsoft Visual C++ 6.0 Standard Edition

  • kbmt kbresource kbcompiler kbinfo KB815773 KbMtpt
Comentários