Compartir a través de


Error de las herramientas del vinculador LNK1561

Se debe definir el punto de entrada.

Observaciones

El enlazador no ha encontrado un punto de entrada, la función inicial a la que se llamará en el ejecutable. De forma predeterminada, el enlazador busca una función main o wmain para una aplicación de consola, una función WinMain o wWinMain para una aplicación de Windows o DllMain para un archivo DLL que requiere inicialización. Puede especificar otra función mediante la opción de enlazador /ENTRY.

Este error puede tener varias causas:

  • Es posible que no haya incluido el archivo que define el punto de entrada en la lista de archivos que se enlazarán. Compruebe que el archivo que contiene la función de punto de entrada esté enlazada a la aplicación.
  • Es posible que haya definido el punto de entrada con la signatura de función incorrecta; por ejemplo, es posible que haya escrito mal el nombre de la función o que haya usado las mayúsculas y minúsculas incorrectamente, o bien que no haya especificado el tipo de valor devuelto o los tipos de parámetro correctamente.
  • Es posible que no haya especificado la opción /DLL al compilar un archivo DLL.
  • Es posible que haya especificado el nombre de la función de punto de entrada incorrectamente cuando usó la opción de enlazador /ENTRY.
  • Si usa la herramienta LIB para compilar un archivo DLL, es posible que haya especificado un archivo .def. Si es así, quite el archivo .def de la compilación.

Al compilar una aplicación, el enlazador busca una función de punto de entrada a la que llamar para iniciar el código. Esta es la función a la que se llama después de cargar la aplicación e inicializar el tiempo de ejecución. Si quiere que la aplicación se ejecute, deberá proporcionar una función de punto de entrada para ella. El punto de entrada es opcional para un archivo DLL. De forma predeterminada, el enlazador busca una función de punto de entrada que tiene uno de varios nombres y signaturas específicos, como int main(int, char**). Puede especificar otro nombre de función como punto de entrada mediante la opción de enlazador /ENTRY.

Ejemplo

En el ejemplo siguiente se genera LNK1561:

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