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

Here, we are going to learn why an Error: Id returned 1 exit status (undefined reference to 'main') occurs and how to fixed in C programming language?
By IncludeHelp Last updated : March 10, 2024

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".

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

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().

Consider the programs...

Example 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

Example 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!

C Common Errors Programs »

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.