Can';针对WinPcap库wpcap.lib的t链接(“未定义对”的引用)

Can';针对WinPcap库wpcap.lib的t链接(“未定义对”的引用),c,gcc,linker,mingw,winpcap,C,Gcc,Linker,Mingw,Winpcap,我正在尝试构建一个使用WinPcap函数的示例程序。我在Windows 7 64位版本下与MinGW合作。我能够将C代码编译成一个对象文件,但无法链接wpcap.lib。 我的链接器调用如下所示: gcc-L.././lib/x64 send_packet.o-lwpcap-o WinPcapTest.exe 通过此调用,我得到以下错误: 未定义对pcap\u open的引用 对pcap\u sendpacket的未定义引用 对pcap\u geterr的未定义引用 显然我没有链接wpcap.l

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

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

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

未定义对pcap\u open的引用

对pcap\u sendpacket的未定义引用

对pcap\u geterr的未定义引用

显然我没有链接wpcap.lib,但我不知道为什么。图书馆肯定找到了。例如,如果我更改lib include路径,则会出现以下错误:

找不到-lwpcap


为什么链接器找到了lib,但没有链接到它?谢谢你的帮助

尝试在二进制定义之后列出库。据我记忆所及,使用提供的
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

这个
gcc-L.././lib/x64 send_packet.o-lwpcap-o WinPcapTest.exe
是否反映了生成可执行文件时发出的实际命令,给出了问题中提到的错误,特别是在参数顺序方面?是的。为了更好的可读性,我只缩短了库include路径。真正的命令是这样的:
gcc-L..\\\下载\WpdPack\u 4\u 1\u 2\WpdPack\Lib\x64发送包.o-lwpcap-o WinPcapTest.exe
I还尝试了组合编译器和链接器调用:
gcc-I..\\下载\WpdPack\u 4\u 1\u 2\WpdPack\Include..\send\u packet.c-L..\\下载\WpdPack\WpdPack\u 4\u 1\u 2\WpdPack\wppack\g30-o WinPcapTest.exe
,并得到相同的结果。