QNX Neutrino的libpcap库在哪里?

时间:2015-09-04 22:10:13

标签: c linker libpcap qnx momentics

我知道QNX 6.6将libpcap作为其标准库的一部分。

当我链接到libpcap.a并尝试使用这些函数时,我得到“对'function_name'的未定义引用”。

真正的libpcap库在哪里才能让它真正起作用?我需要从哪个地方下载它吗?

我正在从Momentics构建,因此没有单一命令可以构建。

在链接器下>其他选项我有-lpcap,并在Linker>下额外的库我有pcap。

一种可能性是我需要导入额外的库,但是libpcap有数百个,我不知道我需要哪些库。

至于输出,我得到一些非常好的建筑信息,然后是我的项目搜索路径,其中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 / target / qnx6 / x86 / 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 socket'中   U:/ shutchinson / QNX / target / qnx6 / x86 / usr / lib \ libpcap.a(inet.o):在函数pcap_lookupnet': (.text+0x744): undefined reference to ioctl_socket'中   U:/ shutchinson / QNX / target / qnx6 / x86 / usr / lib \ libpcap.a(inet.o):在函数pcap_lookupnet': (.text+0x7c8): undefined reference to ioctl_socket'中   U:/ shutchinson / QNX / target / 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 \ libpcap.a(pcap-bpf.o):在函数pcap_stats_bpf': (.text+0x21a): undefined reference to ioctl_socket'中   U:/ shutchinson / QNX / target / qnx6 / x86 / usr / lib \ libpcap.a(pcap-bpf.o):在函数pcap_setdirection_bpf': (.text+0x3ef): undefined reference to ioctl_socket'中   U:/ shutchinson / QNX / target / qnx6 / x86 / usr / lib \ libpcap.a(pcap-bpf.o):(。text + 0x49d):对ioctl_socket' follow U:/shutchinson/QNX/target/qnx6/x86/usr/lib\libpcap.a(fad-getad.o): In function pcap_findalldevs'的更多未定义引用:   (.text + 0x2b):对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):对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'的引用

1 个答案:

答案 0 :(得分:3)

您必须将另一个库(libsocket.a)添加到链接器选项。即您的链接器选项必须是.............. -lpcap -lsocket。