안녕하세요?
정확히 컴파일 시 에러가 나는 것이 아니라, 링크시에 에러가 나는 것입니다.
가장 간단한 방법은 man 페이지를 참조하는 겁니다. man 페이지에 보시면 -lxxx옵션을 주라고
나와있습니다. 보통 라이브러리가 따로 분리되어 있으면 -l옵션으로 링크할 때 연결해 줍
니다. 일반적 라이브러리들은 모두 -l옵션을 줘야 링크가 가능합니다. 링크하지 않아도 되
는 것들은 기본적으로 링크시에 들어가겠죠. (c 표준 라이브러리 등등...) 그럼...
: 감사 합니다... 그렇게 하면 되는군요...
: 근데요 추가로 궁금한게 있어서요...
: 다른 헤더 파일하고 틀리게 이건 왜 따로 옵션을 줘야 하나요?
: 대충 볼땐 디폴트로 링크 되는거하고 따로 링크 시켜 줘야 되는게 구분 되는것
: 같은데요..... 꼭 링크 시켜 줘야할 경우는 어떤때 인가요?
: 답변 감사합니다 그럼...
:
: : : pcap 라이브러리를 사용해서 프로그램을 작성 하고 있습니다만..
: : : 컴파일시 에러가 납니다... 제가 보기엔 함수들을 참조 할수 없다는것 같은데 부탁 드
: : : 립니다. 컴파일시 gcc -o test test.c 하였고
: : :
: : : #include<pcap.h> 이라인도 포함 했는데..
: : : /usr/lib/pcap.h 파일도 열어서 확인 했는데
: : : 전부 존재 하는 함수 입니다.
: : : 컴파일시 옵션을 빠트린 건가요? 초보라서 어려움이 많네요... 부탁 드립니다.
: :
: : -lpcap
: :
: : :)
: :
: : :
: : : 에러 메세지는
: : : tmp/cc45N3a0.o: In function `sig_int':
: : : /tmp/cc45N3a0.o(.text+0xb64): undefined reference to `pcap_close'
: : : /tmp/cc45N3a0.o: In function `main':
: : : /tmp/cc45N3a0.o(.text+0xd6e): undefined reference to `pcap_lookupdev'
: : : /tmp/cc45N3a0.o(.text+0xdd9): undefined reference to `pcap_open_live'
: : : /tmp/cc45N3a0.o(.text+0xe14): undefined reference to `pcap_snapshot'
: : : /tmp/cc45N3a0.o(.text+0xe67): undefined reference to `pcap_lookupnet'
: : : /tmp/cc45N3a0.o(.text+0xec1): undefined reference to `pcap_compile'
: : : /tmp/cc45N3a0.o(.text+0xef6): undefined reference to `pcap_setfilter'
: : : /tmp/cc45N3a0.o(.text+0xf38): undefined reference to `pcap_datalink'
: : : /tmp/cc45N3a0.o(.text+0xf6b): undefined reference to `pcap_loop'
: : : /tmp/cc45N3a0.o(.text+0xf9a): undefined reference to `pcap_close'
:
: --
: 저~ 농군 여봅시...