Freigeben über


Linkertoolfehler LNK1107

ungültige oder beschädigte Datei: Die Adresse des Speicherorts kann nicht gelesen werden.

Hinweise

Das Tool konnte die Datei nicht lesen. Die Datei ist möglicherweise beschädigt oder hat einen unerwarteten Dateityp.

LNK1107 können auftreten, wenn eine an den Linker oder verwandte Tools übergebene Datei beschädigt ist. Um dieses Problem zu beheben, erstellen Sie die Datei neu.

LNK1107 können auch auftreten, wenn Ihr Buildprozess einen unerwarteten Dateityp in die Liste der an das Tool übergebenen Dateien einfügt. Der Linker und die zugehörigen Tools erwarten, dass sie für bestimmte Dateitypen funktionieren. Beispielsweise kann der Linker Objektdateien, Bibliotheksdateien, kompilierte Ressourcen und Manifeste verwenden, um eine ausführbare Datei zu erstellen. Eine ausführbare Datei kann nicht mithilfe von Quelldateien oder DLLs erstellt werden. Um dieses Problem zu beheben, überprüfen Sie, ob Ihr Buildprozess nur die erwarteten Dateitypen an das Tool übergibt. Übergeben .objSie z. B. Dateien.lib, .resnicht .cpp, , .h, oder .dll.rc Dateien.

LNK1107 können auch auftreten, wenn Sie versuchen, ein ausführbares .NET-Modul (A .dll oder datei erstellt mit .netmodule oder /clr:noAssembly/NOASSEMBLY) an den Linker zu übergeben. Um dieses Problem zu beheben, übergeben Sie stattdessen die .obj Datei.

Beispiel

Kompilieren Sie dieses Beispiel mithilfe von cl /clr /LD LNK1107.cpp:

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

Wenn Sie dann in der Befehlszeile angeben link LNK1107.dll , erhalten Sie LNK1107. Um den Fehler zu beheben, geben Sie link LNK1107.obj stattdessen an.