Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Resumo

Quando você cria uma DLL usando a versão de 64 bits do Microsoft Visual C++ compilador e vinculador, você pode receber vinculador erro número LNK4197 se uma função tiver sido declarada para exportação mais de uma vez.

Sintomas

Saída do vinculador pode ser similar à seguinte:

C:\>link /NOLOGO /def:Sample.def /pdb:Sample.pdb /out:Sample.dll  Sample.objSample.obj : warning LNK4197: export 'DllSample' specified multiple times; using first specification   Creating library Sample.lib and object Sample.exp 

Causa

O vinculador do número do erro LNK4197 é gerado quando uma função foi declarada para exportação mais de uma vez. Uma função é declarada para a exportação de uma das seguintes maneiras:

  • A função declarada usando a palavra-chave __declspec(dllexport) em seu arquivo de código-fonte C:

    __declspec(dllexport) int DllSample() {   return 42;}
  • A função declarada usando uma definição de módulo (. Arquivo DEF):

    EXPORTS   DllSample

Este erro de vinculador pode ocorrer com mais frequência quando ambos o __declspec(dllexport) palavra-chave e um. Arquivo DEF são usadas para definir o mesmo nome de função em uma. Projeto de DLL.

Resolução

Para resolver esse comportamento, defina funções exportadas apenas uma vez, usando a palavra-chave __declspec(dllexport) ou usando uma. Arquivo DEF. Não use esses dois métodos.

Status

Este é o comportamento padrão.

Informações adicionais

Declarar uma função para exportar mais de uma vez pode não produzir o erro de vinculador que é descrito na seção "Sintomas" deste artigo em versões de 32 bits do Microsoft Windows C++ compilador e vinculador. No entanto, a Microsoft recomenda que você defina exportações de função apenas uma vez em versões de 32 bits e 64 bits do Windows C++ compilador e vinculador.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×