Jump to content

Undefined reference to WinMain@16


Luís Paiva
Go to solution Solved by pwseo,

Recommended Posts

Luís Paiva

Eu tenho o seguinte código:

void maior (){
  int y,x;
  
  x=0; y=1;
  printf ("Números:"); // Condição de paragem é o zero.

  while (y!=0) {
    scanf ("%d",&y);
    if (x<y) x=y;
  }

  printf ("Maior Número é %d\n", x);
}

No entanto, não consigo construir o programa e diz-me :

undefined reference to 'WinMain@16'
error: ld returned 1 exit status
Build failed: 2 errors.

Alguém me consegue explicar o porquê? (Ainda estou muito verde nisto)

Edited by pwseo
formatação de código
Link to post
Share on other sites
  • Solution

@Luís Paiva,

Os programas escritos em C têm um ponto de entrada universalmente reconhecido: a função main. Como o teu programa não tem essa função, o linker (um dos programas que ajuda a construir o executável a partir do teu código) não sabe como definir o ponto de entrada do teu programa.

Modelo base para um programa escrito em C:

#include <stdio.h>

int main(void)
{
    // código aqui
}

Dentro da função main podes chamar outras funções (como a tua maior), mas para que o programa funcione, precisa de ter uma função main definida pela qual a execução começa.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.