无法链接WinPcap库wpcap.lib(“未定义引用”)

时间:2013-11-26 10:42:30

标签: c gcc linker mingw winpcap

我正在尝试构建一个使用WinPcap函数的示例程序。我在MinGW的Windows 7 64位版本下工作。我能够将C代码编译为目标文件,但我无法链接到wpcap.lib。 我的链接器调用如下所示:

gcc -L ../../lib/x64 send_packet.o -lwpcap -o WinPcapTest.exe

通过此调用,我收到以下错误:

undefined reference to pcap_open

undefined reference to pcap_sendpacket

undefined reference to pcap_geterr

显然我没有链接到wpcap.lib,但我不知道为什么。绝对找到了图书馆。例如,如果我更改了lib include路径,我会收到此错误:

cannot find -lwpcap

为什么链接器会找到lib而不链接它?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

尝试在二进制定义后列出库。据我所知,使用提供的gcc命令,ld将匹配send_packet.o和libwpcap.lib之间的pcap符号,但不匹配WinPcapTest.exe。我建议最后移动-lwpcap:

gcc -I ..\..\..\Downloads\WpdPack_4_1_2\WpdPack\Include ..\send_packet.c -L ..\..\..\Downloads\WpdPack_4_1_2\WpdPack\Lib\x64 -O0 -g3 -Wall -o WinPcapTest.exe -lwpcap