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
, .lib
a .res
files, not .cpp
, .h
, , .dll
nebo .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.