Edição didática em português. O código e suas saídas preservam o original.
Referência não definida em C
Diferencie a declaração de uma função de sua definição e revise os arquivos e bibliotecas ligados.

Uma referência não definida costuma ser um erro de ligação: o compilador conhece uma declaração, mas o ligador não encontra a implementação correspondente. Incluir um cabeçalho não incorpora automaticamente o código de uma biblioteca.
Confira a grafia e as maiúsculas do nome, a existência de uma definição e a inclusão de seu arquivo na compilação. Se faltar main em um executável hospedado, revise o ponto de entrada e o arquivo enviado ao compilador.
Para bibliotecas externas, acrescente as opções de ligação corretas e respeite a ordem quando relevante. Em projetos C/C++, revise a linguagem e as declarações de ligação. Não esconda o erro adicionando uma função vazia que não realiza a tarefa necessária.
Código C
#include <stdio.h>
int main(void)
{
puts("The program started.");
return 0;
}Abrir no compiladorPerguntas frequentes
Por que o código e a saída continuam em inglês?
Palavras-chave, identificadores e textos verificados pelos testes são preservados para não alterar o programa. As explicações e os controles estão traduzidos.