Q:

Error: Id returned 1 exit status (undefined reference to \'main\')

belongs to collection: C Common Errors Programs

0

Error: Id returned 1 exit status (undefined reference to 'main')

As we know that,

  1. Each program must have a main() function, compiler starts execution from the main() function - main() is an entry point to the program,
  2. And, the second this "C language is a case-sensitive language - uppercase words, and lowercase words are different".

This error is occurred on following cases,

  1. If main() is not written in lowercase, like you used Main()MAIN()mAin() or anything else.
  2. If main() does not exist in the program or by mistake you mistyped the main().

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Consider the programs...

Program 1) 'main()' is not in lowercase

#include <stdio.h>

int Main(void) {
	printf("Hello world!");
	return 0;
}

Output

/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

Program 2) Mistyped 'main()' as 'nain()' or anything else

#include <stdio.h>

int nain(void) {
	printf("Hello world!");
	return 0;
}

Output

/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

How to fix?

To fix this error - use correct syntax of main() i.e. use main(), type correct spelling in lowercase

Correct code:

#include <stdio.h>

int main(void) {
	printf("Hello world!");
	return 0;
}

Output

Hello world!

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Error: Assignment of read-only location in C... >>
<< Error: expected \'=\', \',\', ...