Condividi tramite


Errore degli strumenti del linker LNK1107

file non valido o danneggiato: impossibile leggere all'indirizzo del percorso

Lo strumento non è riuscito a leggere il file. Il file potrebbe essere danneggiato o avere un tipo di file imprevisto.

Osservazioni:

LNK1107 può verificarsi se un file passato al linker o agli strumenti correlati è danneggiato. Per risolvere questo problema, ricompilare il file.

LNK1107 possono verificarsi anche se il processo di compilazione inserisce un tipo di file imprevisto nell'elenco dei file passati allo strumento. Il linker e gli strumenti correlati si aspettano di lavorare su tipi di file specifici. Ad esempio, il linker può usare file oggetto, file di libreria, risorse compilate e manifesti per creare un eseguibile. Non può creare un eseguibile usando file di origine o DLL. Per risolvere questo problema, verificare che il processo di compilazione passi solo i tipi di file previsti allo strumento. Ad esempio, passare .obji file , .libe .res , non .cpp, .h.dll, o .rc .

LNK1107 può verificarsi anche se si tenta di passare un modulo eseguibile .NET (A .dll o .netmodule file creato con /clr:noAssembly o /NOASSEMBLY) al linker. Per risolvere questo problema, passare invece il .obj file.

Esempio

Compilare questo esempio usando cl /clr /LD LNK1107.cpp:

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

Se si specifica link LNK1107.dll quindi nella riga di comando, si otterrà LNK1107. Per risolvere l'errore, specificare link LNK1107.obj invece.