2015-09-04 36 views
0

我知道QNX 6.6有libpcap作爲其標準庫的一部分。QNX Neutrino的libpcap庫在哪裏?

當我鏈接到libpcap.a並嘗試使用函數時,我得到「未定義的引用'function_name'」。

我需要真正的libpcap庫到哪裏去實際工作?我需要從哪裏下載它?


我從Momentics建設,所以沒有單一的命令來建立。

在鏈接器>其他選項我有-lpcap,並在鏈接器>額外的庫我有pcap。

一種可能性是我需要導入額外的庫,但libpcap帶有數百個,我不知道我需要哪些庫。

至於輸出,我得到一些innoculous建設的消息,然後我的項目的搜索路徑,然後通過這些對不同功能18:

U:/.../target/qnx6/x86/usr/lib\libpcap.a(fad-getad.o): In function pcap_findalldevs': 
(.text+0x2b): undefined reference to `getifaddrs' 

其中一些是在pcap.h,有些則不是。這是完整的列表:

'U:/ shutchinson/QNX /目標/ QNX6/86/usr/lib中\ libpcap.a(scanner.o):在功能pcap_lex': (.text+0x9c8): undefined reference to的getaddrinfo' U:/ shutchinson/QNX/target/qnx6/x86/usr/lib \ libpcap.a(inet.o):功能pcap_lookupnet': (.text+0x6d8): undefined reference to套接字' U:/ shutchinson/QNX/target/qnx6/x86/usr/lib \ libpcap.a(inet。 U:/ shutchinson/QNX/target/qnx6/x86/usr/lib/libpcap.a(inet.o):在功能pcap_lookupnet': (.text+0x744): undefined reference to ioctl_socket' U:/ shutchinson/QNX/qnx6/x86/usr/lib \ libpcap.a(pcap-bpf.o):功能pcap_set_datalink_bpf': (.text+0x16): undefined reference to ioctl_socket' U:/ shutchinson/QNX/target/qnx6/x86/usr/lib \ libp cap.a(PCAP-bpf.o):在功能pcap_stats_bpf': (.text+0x21a): undefined reference to ioctl_socket ' U:/ shutchinson/QNX /目標/ QNX6/86/usr/lib中\ libpcap.a(PCAP-bpf.o):在功能pcap_setdirection_bpf': (.text+0x3ef): undefined reference to ioctl_socket' (.text + 0x49d):更多未定義的引用ioctl_socket' follow U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(fad-getad.o): In function pcap_findalldevs': (.text + 0x2b()):/ shutchinson/QNX/target/qnx6/x86/usr/lib \ libpcap.a(pcap-bpf.o) ):未定義參照getifaddrs' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(fad-getad.o): In function函數pcap_findalldevs ': (的.text + 0x175):未定義參照freeifaddrs' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(gencode.o): In function gen_mcode6': (的.text + 0x5777):未定義參照freeaddrinfo' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(gencode.o): In function gen_scode': (的.text + 0x5b36):未定義參照freeaddrinfo' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(nametoaddr.o): In function pcap_nametoaddr': (.text + 0x2e):undefined reference to gethostbyname' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(nametoaddr.o): In function pcap_nametoaddrinfo': (的.text + 0x93):未定義參照getaddrinfo' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(nametoaddr.o): In function pcap_nametonetaddr ': (的.text + 0xc4):未定義參照getnetbyname' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(nametoaddr.o): In function pcap_nametoport': (的.text + 0xee):未定義參照getservbyname' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(nametoaddr.o): In function pcap_nametoport': (+的.text 0x10f):未定義參考getservbyname' U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(nametoaddr.o): In function pcap_nametoproto ': (+的.text 0x251):未定義的引用`getprotobyname'

+0

也許你在鏈接時做錯了什麼。顯示您正在運行的命令及其輸出。 – nos

+0

它給你一個未定義的引用getifaddrs,這不是一個pcap函數。也許你還需要鏈接到套接字庫。 – nos

+0

您獲得「未定義參考」的函數的完整列表是什麼? (*它找到了'pcap_findalldevs()',但是'pcap_findalldevs()'調用了'getifaddrs()',它*沒有找到'getifaddrs()'。) – 2015-09-05 04:03:32

回答

3

您必須添加另一個庫(libsocket.a)連接器的選項。即您的鏈接器選項必須是.............. -lpcap -lsocket。