flex & bison 으로 개발하는데 다음과 같은 build error 가 발생하는 경우가 있습니다.

example.y:41: warning: conflicting types for ‘yyerror’

example.tab.c:1411: note: previous implicit declaration of ‘yyerror’ was here


이 문제를 해결하려면 yyerror 을 다음과 같이 선언해야 합니다.


int yyerror(char const *s)

{

  fprintf(stderr, "error: %s\n", s);

}


참고:


Posted by 집시F

CentOS 에서 flex 로 컴파일하는데, 다음과 같은 에러가 발생하는 경우가 있습니다.

$ cc lex.yy.c -lfl

/usr/bin/ld: cannot find -lfl

collect2: ld returned 1 exit status

원인은 flex library 가 설치되어 있지 않기 때문입니다.


$ yum install flex-devel


물론 원할한 개발을 위해서는 flex bison 도 함께 설치되어 있어야 합니다.


$ yum install flex bison


Posted by 집시F