본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. undefined reference to symbol 'ceil@@GLIBC_2.4' 해결 방법은?

undefined reference to symbol 'ceil@@GLIBC_2.4' 해결 방법은?

· 댓글개 · 바다야크

undefined reference to symbol 'ceil@@GLIBC_2.4'

문제없던 소스 파일에 수학 함수를 추가했더니 컴파일 에러가 발생합니다. 그런데 처음 보는 메시지예요. undefined reference to symbol 'ceil@@GLIBC_2.4' 응? 뭐지?

Makefile을 다른 분이 만들어 준 것을 사용하고 있는데요, 한 개의 파일이 아니라 여러 개로 나뉘어서 복작하게 구성되어 있네요. 그래서 어떤 문제가 있는지 쉽게 알 수 없었는데요, 자세히 보니 컴파일 에러가 아니라 링크 에러입니다. 그렇다면 ceil() 함수를 담고 있는 수학 함수 라이브러리가 빠쪘나 했지만, 그럴리가.

더욱이 바로 아래 행에 "gnueabi/lib/libm.so.6: error adding symbols: DSO missing from command line" 이라는 내용에 착각을 하고 말았습니다. libm.so.6를 수학 함수 라이브러리로 오해한 것이죠. 한참을 헤매고서야 동료의 도움으로 잘못된 생각이었고 링크 옵션에 -lm이 빠졌다는 것을 알았습니다.

즉, 해결 방법은 수학 함수 ceil()을 사용하니 당연히 링크 옵션에 -lm을 넣으면 됩니다.

아~ 이렇게 허무할 수가. 항상 넣는 링크 옵션이라 당연히 다른 분도 꼭 사용할 것이라는, 아니 이런 생각도 하지 않은 잘못이었습니다. 더욱 한심한 것은 "libm.so.6" 메시지에 아예 의심하지 않았다는 것입니다. 항상 선입견·선입관을 조심해야 하는데, ... 프로그래머는 특히요.

SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.