Compartilhar via


Erros das ferramentas do Vinculador LNK1107

arquivo inválido ou corrompido: não é possível ler no local address

A ferramenta não pôde ler o arquivo. O arquivo pode estar corrompido ou ter um tipo de arquivo inesperado.

Comentários

O erro LNK1107 poderá ocorrer se um arquivo passado para o vinculador ou ferramentas relacionadas estiver corrompido. Para resolver esse problema, recompile o arquivo.

O erro LNK1107 também poderá ocorrer se o processo de build colocar um tipo de arquivo inesperado na lista de arquivos passados para a ferramenta. O vinculador e as ferramentas relacionadas esperam trabalhar em tipos de arquivo específicos. Por exemplo, o vinculador pode usar arquivos de objeto, arquivos de biblioteca, recursos compilados e manifestos para criar um executável. Ele não pode criar um executável usando arquivos de origem ou DLLs. Para resolver esse problema, verifique se o processo de build passa apenas os tipos de arquivo esperados para a ferramenta. Por exemplo, passe os arquivos .obj, .lib e .res, não os arquivos .cpp, .h, .dll ou .rc.

O erro LNK1107 também poderá ocorrer se você tentar passar um módulo executável .NET (um arquivo .dll ou .netmodule criado com /clr:noAssembly ou /NOASSEMBLY) para o vinculador. Para resolver esse problema, passe o arquivo .obj em vez disso.

Exemplo

Compile este exemplo usando cl /clr /LD LNK1107.cpp:

// LNK1107.cpp
// compile with: /clr /LD
public ref class MyClass {
public:
   void Test(){}
};

Se você especificar link LNK1107.dll na linha de comando, obterá o erro LNK1107. Para resolver o erro, especifique link LNK1107.obj em vez disso.