Sdílet prostřednictvím


Chyba linkerů LNK1561

vstupní bod musí být definován.

Linker nenalezl vstupní bod, počáteční funkci pro volání ve spustitelném souboru. Ve výchozím nastavení linker vyhledá konzolovou mainwmain aplikaci, WinMain funkci nebo wWinMain funkci pro aplikaci pro Windows nebo DllMain knihovnu DLL, která vyžaduje inicializaci. Jinou funkci můžete zadat pomocí možnosti /ENTRY linker.

Tato chyba může mít několik příčin:

  • Možná jste nezahrnuli soubor, který definuje vstupní bod v seznamu souborů, které chcete propojit. Ověřte, že je soubor obsahující funkci vstupního bodu propojený s vaší aplikací.
  • Je možné, že jste vstupní bod definovali pomocí nesprávného podpisu funkce; Můžete mít například nesprávně napsané nebo nesprávné písmeno pro název funkce nebo zadat návratový typ nebo typy parametrů nesprávně.
  • Při vytváření knihovny DLL jste pravděpodobně nezadáli možnost /DLL .
  • Možná jste nesprávně zadali název funkce vstupního bodu, pokud jste použili možnost /ENTRY linker.
  • Pokud k sestavení knihovny DLL používáte nástroj LIB , pravděpodobně jste zadali soubor .def. Pokud ano, odeberte ze sestavení soubor .def.

Při vytváření aplikace hledá linker funkci vstupního bodu, která volá za účelem spuštění kódu. Jedná se o funkci, která se volá po načtení aplikace a inicializuje se modul runtime. Pro aplikaci musíte zadat funkci vstupního bodu nebo ji nemůžete spustit. Vstupní bod je volitelný pro knihovnu DLL. Ve výchozím nastavení linker hledá funkci vstupního bodu, která má jeden z několika konkrétních názvů a podpisů, například int main(int, char**). Jako vstupní bod můžete zadat jiný název funkce pomocí možnosti /ENTRY linker.

Příklad

Následující ukázka vygeneruje LNK1561:

// LNK1561.cpp
// LNK1561 expected
int i;
// add a main function to resolve this error