Compartilhar via


Aviso das ferramentas de vinculador LNK4286

o símbolo 'symbol' definido em 'filename_1.obj' é importado por 'filename_2.obj'

__declspec(dllimport) foi especificado para symbol, embora o símbolo seja definido no arquivo de objeto filename_1.obj na mesma imagem. Remova o modificador __declspec(dllimport) para resolver esse aviso.

Comentários

O aviso LNK4286 é uma versão mais geral do Aviso LNK4217 das Ferramentas do Vinculador. O vinculador gera o aviso LNK4286 quando ele pode determinar qual arquivo de objeto referenciou o símbolo, mas não qual função.

Para resolver o LNK4286, remova o modificador de declaração __declspec(dllimport) da declaração de encaminhamento de symbol referenciada em filename_2.obj.

Embora o código final gerado se comporte corretamente, o código gerado para chamar uma função importada é menos eficiente do que chamar a função diretamente. Esse aviso não aparece quando você compila usando a opção /clr.

Para obter mais informações sobre as declarações de dados de importação e exportação, confira dllexport, dllimport.

Confira também

Aviso das ferramentas de vinculador LNK4049
Aviso das ferramentas de vinculador LNK4217
dllexport, dllimport