준호씨의 블로그

c - gcc 로 빌드 할 때 라이브러리 디팬던시는 뒤쪽에 배치 한다. undefined reference to 오류 본문

개발이야기

c - gcc 로 빌드 할 때 라이브러리 디팬던시는 뒤쪽에 배치 한다. undefined reference to 오류

준호씨 2018.06.02 16:18

gcc 로 컴파일 할 때 a 라이브러리가 b 라이브러리를 필요로 한다면

-la -lb

이런식으로 라이브러리 옵션을 적어 주어야 한다.

a 라이브러리에서 b 라이브러이의 func_b 함수를 호출하는데 -lb 가 없거나 -lb 가 -la 앞에 있다면 a 라이브러리에서 b 라이브러이의 func_b 함수를 찾지 못하게 된다. 그런 경우 빌드 할 때 다음과 같이 undefined reference 오류가 발생하게 된다.

a.c:111: undefined reference to `func_b'

공통적으로 참조 하는 라이브러리들은 가급적 뒤쪽에 배치 해 두는 것이 속편하다.

0 Comments
댓글쓰기 폼