gcc 라이브러리 옵션

Linux 2015. 1. 15. 11:32

표준 라이브러리에 존재하지 않는 함수들을 컴파일해야 할 때, (예로 쓰레드 관련 함수) 이럴 때에는 -l 옵션을 주면 된다. 아래의 명령은 쓰레드 관련 컴파일한다는 가정하의 명령이다.

 

#gcc -o thread thread.c -lpthread

 

쓰레드 생성시 pthread 라이브러리를 포함해야하므로 -lpthread 옵션을 추가했다. 시스템 라이브러리 이름 지정은 공통적인 이름인 lib 과 .a 확장자를 제외한 나머지만 지정한다. -lpthread 는 -llibpthread.a 와 같은 명령이다. 즉 lib과 .a를 생략해도 알아서 컴파일러에서 처리한다는 의미이다.

 

-l 명령을 주면 시스템 라이브러리 파일 저장 디렉토리 (/lib, /usr/lib, /usr/local/lib) 로부터 이름을 지정한 라이브러리 파일 (위의 경우 libpthread.a) 을 찾아서 링크한다. 만약, 링크하고자 하는 라이브러리가 다른 디렉토리에 존재한다면 별도의 경로를 지정해주어야 한다. 그 경우 주는 옵션은 -L 이다. 아래의 명령은 현재 경로(.)에 존재하는 라이브러리 파일 libmylibfile.a 를 지정해주는 명령이다.

 

#gcc -o libtest libtest.c -lmylibfile -L.

'Linux' 카테고리의 다른 글

Unix system programming  (0) 2014.09.01
ANSI Color Codes  (0) 2014.05.19

설정

트랙백

댓글