Erreur des outils Éditeur de liens LNK1561

le point d’entrée doit être défini

L’éditeur de liens n’a pas trouvé de point d’entrée, la fonction initiale à appeler dans votre exécutable. Par défaut, l’éditeur de liens recherche une ou wmain une main fonction pour une application console, une WinMain ou wWinMain une fonction pour une application Windows ou DllMain pour une DLL nécessitant une initialisation. Vous pouvez spécifier une autre fonction à l’aide de l’option /ENTRY Linker.

Cette erreur peut avoir plusieurs causes :

  • Vous n’avez peut-être pas inclus le fichier qui définit votre point d’entrée dans la liste des fichiers à lier. Vérifiez que le fichier qui contient la fonction de point d’entrée est lié à votre application.
  • Vous avez peut-être défini le point d’entrée à l’aide de la signature de fonction incorrecte ; Par exemple, vous avez peut-être mal orthographié ou utilisé le mauvais cas pour le nom de la fonction, ou spécifié le type de retour ou les types de paramètres de manière incorrecte.
  • Vous n’avez peut-être pas spécifié l’option /DLL lors de la génération d’une DLL.
  • Vous avez peut-être spécifié le nom de la fonction de point d’entrée de manière incorrecte lorsque vous avez utilisé l’option /ENTRY Linker.
  • Si vous utilisez l’outil LIB pour générer une DLL, vous avez peut-être spécifié un fichier .def. Si c’est le cas, supprimez le fichier .def de la build.

Lors de la génération d’une application, l’éditeur de liens recherche une fonction de point d’entrée à appeler pour démarrer votre code. Il s’agit de la fonction appelée après le chargement de l’application et de l’initialisation du runtime. Vous devez fournir une fonction de point d’entrée pour une application, ou votre application ne peut pas s’exécuter. Un point d’entrée est facultatif pour une DLL. Par défaut, l’éditeur de liens recherche une fonction de point d’entrée qui a l’un des noms et signatures spécifiques, tels que int main(int, char**). Vous pouvez spécifier un autre nom de fonction comme point d’entrée à l’aide de l’option /ENTRY Linker.

Exemple

L’exemple suivant génère des LNK1561 :

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