본문 바로가기
컴퓨터/C & C++

[C언어] incompatible.c:2:3: warning: incompatible implicit declaration of built-in function 해결 방법

by HanJoohyun 2017. 11. 6.
반응형




안녕하세요 한주현입니다.


오늘은 C언어 컴파일 때 발생하는 경고인

 

incompatible.c:2:3: warning: incompatible implicit declaration of built-in function

 

를 해결하는 방법에 대해 알아보겠습니다.



incompatible.c:2:3: warning: incompatible implicit declaration of built-in function - 문제 상황

 

C로 다음과 같은 스크립트를 작성하고 컴파일 해봅시다.

 

1
2
3
void main(){
  printf("Hello world\n");
}
cs

 

 

1
2
3
4
$ gcc incompatible.c -o incompatible.exe
incompatible.c: In function ‘main’:
incompatible.c:2:3: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
   printf("Hello world\n");
cs

 

컴파일을 해보니 뭔가 깔끔하지 않고 메시지들이 나옵니다.. ??

 

warning 이라고 하면서 나오는것 같긴한데,

 

컴파일된 파일을 실행해보니

 

1
2
$ ./incompatible.exe
Hello world
cs

 

잘 되는것 같긴 합니다.... ㅎㅎ   만 뭔가 찜찜하군요

 

그러므로 우리는 그냥 넘어가서는 안되겠죠?

 

 

 

incompatible.c:2:3: warning: incompatible implicit declaration of built-in function - 해결 방법

warning: incompatible implicit declaration ... 의 경고가 나는 이유는

 

대부분 정의되지 않은 함수를 사용하였기 때문입니다.

 

다시 경고가 나온 부분을 보시죠

incompatible implicit declaration of built-in function ‘printf’

 

printf 함수는 stdio.h 에 정의되어 있습니다.

 

이를 사용하기 위해서는

 

소스코드 첫 줄에

 

1
#include <stdio.h>
cs

 

를 적어주심 됩니다.

 

간단한 것인데 의외로 헤맬 수 있는 부분이지요.. ㅎㅎ

 


 

위의 예시를 하나의 코드에 담으면 아래와 같습니다.

 

1
2
3
4
5
#include <stdio.h>
 
void main(){
  printf("Hello world\n");
}
cs

 


오늘은 C언어 컴파일 시 발생하는 경고메시지인

 

incompatible.c:2:3: warning: incompatible implicit declaration of built-in function

 

를 해결하는 과정에 대하여 알아봤습니다.


그럼 다음시간에 만나요~



반응형

댓글