Udostępnij przez


Błąd narzędzi konsolidatora LNK1561

punkt wejścia musi być zdefiniowany

Uwagi

Konsolidator nie znalazł punktu wejścia— początkową funkcję do wywołania w pliku wykonywalnym. Domyślnie konsolidator szuka main funkcji lub wmain dla aplikacji konsolowej, WinMain funkcji lub wWinMain dla aplikacji systemu Windows lub DllMain biblioteki DLL wymagającej inicjowania. Inną funkcję można określić przy użyciu opcji konsolidatora /ENTRY .

Ten błąd może mieć kilka przyczyn:

  • Być może nie dołączono pliku definiującego punkt wejścia na liście plików do połączenia. Sprawdź, czy plik zawierający funkcję punktu wejścia jest połączony z aplikacją.
  • Być może punkt wejścia został zdefiniowany przy użyciu nieprawidłowego podpisu funkcji; na przykład może wystąpić błędna pisownia lub użyto nieprawidłowego przypadku dla nazwy funkcji albo określono niepoprawnie zwracany typ lub typy parametrów.
  • Być może nie określono opcji /DLL podczas kompilowania biblioteki DLL .
  • Być może nazwa funkcji punktu wejścia została niepoprawnie określona, gdy użyto opcji konsolidatora /ENTRY .
  • Jeśli używasz narzędzia LIB do kompilowania biblioteki DLL, być może określono plik .def. Jeśli tak, usuń plik def z kompilacji.

Podczas kompilowania aplikacji konsolidator szuka funkcji punktu wejścia w celu wywołania w celu uruchomienia kodu. Jest to funkcja wywoływana po załadowaniu aplikacji, a środowisko uruchomieniowe jest inicjowane. Musisz podać funkcję punktu wejścia dla aplikacji lub nie można uruchomić aplikacji. Punkt wejścia jest opcjonalny dla biblioteki DLL. Domyślnie konsolidator szuka funkcji punktu wejścia, która ma jedną z kilku określonych nazw i podpisów, takich jak int main(int, char**). Możesz określić inną nazwę funkcji jako punkt wejścia, używając opcji konsolidatora /ENTRY.

Przykład

Poniższy przykład generuje LNK1561:

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