Erro ao executar minha aplicação

Eu sou iniciante no C. E eu estou usando o Eclipse para programar, eu criei um novo projeto usando GCC e criei nele um arquivo Main.c. O conteúdo dele é este:
`

# include <stdio.h>
# include <stdlib.h>

int main(){
printf("Inicio");
return 0;
}

`
E quando eu compilo meu projeto recebo a seguinte mensagem:

`

15:09:38 **** Build of configuration Debug for project Test ****
make all 
Building file: ../Main.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Main.d" -MT"Main.o" -o "Main.o" "../Main.c"
Finished building: ../Main.c

Building target: Test
Invoking: GCC C Linker
gcc  -o "Test"  ./Main.o   
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
makefile:29: recipe for target 'Test' failed
make: *** [Test] Error 1

15:09:38 Build Finished (took 166ms)`

Estou usando o ubuntu testei seu codigo no console( Terminal) com o comando :

gcc -o Main Main.c

e

./Main
e funcionou

Quando digito gcc -o “Test” ./Main.o
dá erro.
Que editor ou IDE está usando ?

Eclipse

Acho que está é a razão de porquê eu sempre usei editores simples com suporte a syntax highlight do que essas IDEs pra C nos últimos 18 anos.

Um projeto em C de um único arquivo vc compila facil no terminal E ainda aprende a usar o terminal

Pior que pelo terminal eu compilo minha aplicação sem problemas. Vou fazer o seguinte, vou continuar usando o Eclipse mas na hora de compilar eu compilo pelo terminal.

Cria um Makefile

Boa ideia. Vai facilitar muito. Ao invés de ficar executando esses comandos todas as vezes.

já tentou colocar “void” ?

void  main( )  
 { 
  ...
 }

Funcionou perfeitamente. Muito obrigado. Mas sabe me explicar por quê?

Porque o programa que você definiu não retornará valor nenhum.

1 curtida