[Linux] 공유 라이브러리 빌드 및 사용하기

개발 노트 2008. 11. 4. 10:16 posted by 무병장수권력자


작성자 : 김문규
최초 작성일 : 2008.11.04

1. 빌드

Makefile을 아래와 같이 작성합니다. (물론 ... 같은 내용은 적절하게 넣어야지요!)

.SUFFIXES : .c .o

TGT=libtest.so.1     <-- 타겟 이름 ( lib모듈이름.so.버젼 )
CXX=g++
CPPFLAGS=-g -I. -fPIC     <-- -fPIC 옵션이 꼭 필요하다
LFLAGS=......                   <-- 컴파일 시 필요한 라이브러리 위치

OBJS=${SRCS:.cpp=.o}
HDRS=${SRCS:.cpp=.h}
SRCS=a.cpp b.cpp ....

all : $(TGT)

$(TGT) : $(OBJS)
    $(CXX) -shared -Wl,-soname,$@ -o $@ $(OBJS)

dep :
        gccmakedep $(SRCS)

clean:
    $(RM) $(OBJS) $(TGT) core


2. 사용

사용법은 아주 간단하다.
g++ -o test test.cpp -L/home/solaz/Project/lib libtest.so.1