Compartilhar via


Erro das ferramentas de vinculador LNK1561

pontos de entrada devem ser definidos

O vinculador não encontrou um ponto de entrada, a função inicial a ser chamada no executável. Por padrão, o vinculador procura uma função main ou wmain para um aplicativo de console, uma função WinMain ou wWinMain para um aplicativo do Windows ou DllMain para uma DLL que requer inicialização. Você pode especificar outra função usando a opção do vinculador /ENTRY.

Esse erro pode ter várias causas:

  • Talvez você não tenha incluído o arquivo que define o ponto de entrada na lista de arquivos a serem vinculados. Verifique se o arquivo que contém a função de ponto de entrada está vinculado ao seu aplicativo.
  • Você pode ter definido o ponto de entrada usando a assinatura de função errada; por exemplo, você pode ter digitado ou usado maiúsculas e minúsculas erroneamente no nome da função ou especificado o tipo de retorno ou os tipos de parâmetro incorretamente.
  • Talvez você não tenha especificado a opção /DLL ao criar uma DLL.
  • Você pode ter especificado o nome da função de ponto de entrada incorretamente quando usou a opção do vinculador /ENTRY.
  • Se você estiver usando a ferramenta LIB para criar uma DLL, talvez tenha especificado um arquivo .def. Nesse caso, remova o arquivo .def do build.

Ao criar um aplicativo, o vinculador procura uma função de ponto de entrada para chamar para iniciar seu código. É essa a função que é chamada depois que o aplicativo é carregado e o runtime é inicializado. Você deve fornecer uma função de ponto de entrada para um aplicativo, ou seu aplicativo não poderá ser executado. Um ponto de entrada é opcional para uma DLL. Por padrão, o vinculador procura uma função de ponto de entrada que tenha um dos vários nomes e assinaturas específicos, como int main(int, char**). Você pode especificar outro nome de função como o ponto de entrada usando a opção do vinculador /ENTRY.

Exemplo

A amostra a seguir gera LNK1561:

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