J. *_*Dow 7 winpcap go cgo gopacket
我正在尝试在我的Windows 10上使用gopacket.
我正在使用它来嗅探并直接向NIC注入数据包.
我可以使用GOARCH = 386轻松编译和运行我的代码,但不能在GOARCH = amd64中.
值得注意的是:我不是在尝试交叉编译.
我正在使用go1.6.windows-386来编译32位版本,当我尝试用GOARCH = amd64编译时,我使用go1.6.windows-amd64.
我使用TDM-GCC作为linux编译工具.
该错误不是指示性的.它只是说
c:/WpdPack/Lib/x64/wpcap.lib: error adding symbols: File in wrong format
collect2.exe: error ld returned 1 exit status
有没有人设法建立这个,如果它甚至可能?
J. *_*Dow 28
好的,所以我已经弄清楚了.
要在Windows上编译gopacket 64bit,您需要执行以下操作:
现在重点是
lib/x64文件夹中缺少linux静态库文件(libwpcap.a和libpacket.a).我不知道他们为什么不
包含在开发人员包中,但无论如何我们可以生成它们:
gendef wpcap.dll和gendef packet.dll(使用MinGW安装管理器获得,包的mingw32-gendef)dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libwpcap.a --input-def wpcap.def dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libpacket.a --input-def packet.def 而已.
现在gopacket应该编译没有问题.