[질문]오픈소스의 라이브러리를 사용하려고 하는데 안돼요~

s97083의 이미지

새로 만드는 프로그램에 오픈 소스의 라이브러리를 사용하려고 합니다.

그래서 libpreview.la 파일이랑 libpreview.a 라는 라이브러리를 제가 만드려는 프로그램의 디렉토리로 카피해 와서여

라이브러리에 있는

 CPreviewAVMediaFlow* AVFlow;
           AVFlow->start(); 

라는 함수를 제가 만든 프로그램에서 불렀거든여. 그리고 컴파일시에

gcc gui_main.cpp -Llibpreview.a 하고 컴파일을 했습니다.
그런데 위의 두 코드를 라이브러리에서 읽지를 못하드라고여 ...
대체 어떻게 해야 대는지 모르겠어여 고수님들 알려주세여

 CC = g++

CFLAGS = `pkg-config gtk+-2.0 --cflags`
LDFLAGS = `pkg-config gtk+-2.0 --libs`
OBJ = gui_main.o yuv2rgb.cpp
LIBS = -letri-rtp/rtp.a
RTPOBJ = etri-rtp/Md5.o etri-rtp/Rtp.o etri-rtp/RtpAPI.o etri-rtp/Rtpobj.o etri-rtp/Rtprfc.o

TARGET = elva

all: $(OBJ) $(RTPOBJ)
	$(CC) $(LDFLAGS) $(OBJ) $(RTPOBJ) -o $(TARGET)

.cpp.o:
	$(CC) $(CFLAGS) -g -c $<

clean:
	rm -f *.o elva

make 파일이 있어서 make 파일의 LIBS = -letri-rtp/rtp.a 부분뒤에

libpreview.a 하고 이어서 써도 make 시에 똑같이 에러뜨더군여.

.a 나 .la 로 끝나는 라이브러리 쓸때도 소스 코드가 전부 있어야 되는 건가여?

marten의 이미지

-Llibpreview.a => -lpreview

이렇게 해야 할 듯 한데요?