Sdílet prostřednictvím


Chyba linkerů LNK1123

chyba při převodu na COFF: soubor je neplatný nebo poškozený

Vstupní soubory musí mít formát COFF (Common Object File Format). Pokud vstupní soubor není COFF, linker se automaticky pokusí převést 32bitové objekty OMF na COFF nebo spustí CVTRES.EXE pro převod souborů prostředků. Tato zpráva označuje, že linker nemohl převést soubor. K tomu může dojít také při použití nekompatibilní verze CVTRES.EXE z jiné instalace sady Visual Studio, sady Windows Development Kit nebo rozhraní .NET Framework.

Poznámka:

Pokud používáte starší verzi sady Visual Studio, nemusí být automatický převod podporován.

Řešení problému

  • Použijte všechny aktualizace Service Pack a aktualizace pro vaši verzi sady Visual Studio. To je zvlášť důležité pro Visual Studio 2010.

  • Zkuste sestavovat s zakázaným přírůstkovým propojením. Na řádku nabídek zvolte Projekt, Vlastnosti. V dialogovém okně Stránky vlastností rozbalte položku Vlastnosti konfigurace, Linker. Změňte hodnotu Povolit přírůstkové propojení na Ne.

  • Ověřte, že verze CVTRES.EXE nalezená jako první v proměnné prostředí PATH odpovídá verzi nástrojů sestavení nebo verzi sady nástrojů platformy, kterou váš projekt používá.

  • Zkuste vypnout možnost Vložit manifest. Na řádku nabídek zvolte Projekt, Vlastnosti. V dialogovém okně Stránky vlastností rozbalte položku Vlastnosti konfigurace, Nástroj manifestu, vstup a výstup. Změňte hodnotu Manifestu vložení na Ne.

  • Ujistěte se, že je typ souboru platný. Ujistěte se například, že je objekt OMF 32bitový a ne 16bitový. Další informace naleznete v tématu . Obj soubory jako vstup linkeru a formát PE.

  • Ujistěte se, že soubor není poškozený. V případě potřeby ho znovu sestavte.

Viz také

Soubory .Obj jako vstup linkeru
EDITBIN – referenční dokumentace
DUMPBIN – odkaz