Sdílet prostřednictvím


Chyba linkerů LNK1107

neplatný nebo poškozený soubor: Nelze číst na adrese umístění

Nástroj nemohl soubor přečíst. Soubor může být poškozený nebo má neočekávaný typ souboru.

Poznámky

LNK1107 může dojít, pokud je poškozen soubor předaný linkeru nebo související nástroje. Pokud chcete tento problém vyřešit, znovu sestavte soubor.

LNK1107 může dojít také v případě, že proces sestavení vloží do seznamu souborů předaných nástroji neočekávaný typ souboru. Linker a související nástroje očekávají, že budou fungovat na konkrétních typech souborů. Linker může například k vytvoření spustitelného souboru použít soubory objektů, soubory knihovny, kompilované prostředky a manifesty. Nejde vytvořit spustitelný soubor pomocí zdrojových souborů nebo knihoven DLL. Pokud chcete tento problém vyřešit, ověřte, že proces sestavení předává nástroji pouze očekávané typy souborů. Například pass .obj, .liba .res files, not .cpp, .h, , .dllnebo .rc files.

LNK1107 může dojít také v případě, že se pokusíte předat spustitelný modul .NET (A .dll nebo .netmodule soubor vytvořený s /clr:noAssembly nebo /NOASSEMBLY) linkeru. Pokud chcete tento problém vyřešit, předejte .obj místo toho soubor.

Příklad

Zkompilujte tuto ukázku pomocí cl /clr /LD LNK1107.cpp:

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

Pokud pak zadáte link LNK1107.dll na příkazovém řádku, získáte LNK1107. Pokud chcete chybu vyřešit, zadejte link LNK1107.obj místo toho.