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.