[완료] glade로 디자인한 프로그램에 pcap라이브러리를 사용합니다.컴파일에러..
안녕하세요.
항상 이곳에서 많은 도움받으면서 리눅스와 가까워지고 있는 리눅서입니다 ^^
패킷모니터링프로그램을 만들려고 glade로 UI를 디자인해서 콜백함수에 pcap함수를 사용했는데
[root@localhost project1]# make
make all-recursive
make[1]: Entering directory `/home/hero/project1'
Making all in src
make[2]: Entering directory `/home/hero/project1/src'
gcc -g -O2 -o teamproject main.o support.o interface.o callbacks.o -L/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
callbacks.o: In function `Fdevice_open':
/home/hero/project1/src/callbacks.c:139: undefined reference to `pcap_lookupdev'
/home/hero/project1/src/callbacks.c:151: undefined reference to `pcap_open_live'
/home/hero/project1/src/callbacks.c:164: undefined reference to `pcap_lookupnet'
/home/hero/project1/src/callbacks.c:180: undefined reference to `pcap_compile'
/home/hero/project1/src/callbacks.c:190: undefined reference to `pcap_setfilter'
/home/hero/project1/src/callbacks.c:198: undefined reference to `pcap_loop'
/home/hero/project1/src/callbacks.c:205: undefined reference to `pcap_close'
collect2: ld returned 1 exit status
make[2]: *** [teamproject] Error 1
make[2]: Leaving directory `/home/hero/project1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/hero/project1'
make: *** [all] Error 2
다음과 같은 에러메시지가 뜹니다.
pcap 라이브러리 연습하면서 c소스파일 하나로 컴파일 할때는
gcc 옵션으로 라이브러리를 지정해줘서 저 오류를 잡았었습니다.
그런데 glade를 사용하면서 부터는 make파일을 실행시켜 컴파일을 하다보니 저 옵션을 줄 수가 없더군요.
make파일안에 컴파일 플래그인 CFLAGS인가요?? 거기다 추가하라는 글을 어디선가 보고선
이리저리 넣어봤는데 잘안되네요..
PACKAGE_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/local/lib
PACKAGE_LIBS = -L/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lpcap
make파일은 위에처럼 마지막에 -I/usr/local/lib -lpcap이라구 추가했습니다.
tcpdump에서 libpcap받아서 configure 하고 make install 해서 라이브러리도 설치했는데 머가 문제인지
많은 가르침 부탁드리겠습니다!!!!
알아냈습니다^^
/src/Makefile 에서 CFLAGS 부분에 -lpcap을 하면 되는군요
------------
힘들면 즐겁다.
------------
힘들면 즐겁다.
댓글 달기