VS2010 + libnet开发中,无法解析的外部符号 问题出现的原因总结

  今天进行了libnet的环境搭建,没想到一开始写第一个程序就很不顺利,其中遇到的一个问题就是:在试图调用pcap函数pcap_findalldevs时出现的链接期错误:error LNK2019: 无法解析的外部符号 _pcap_findalldevs,该符号在函数 _wmain 中被引用。


   这个函数是属于wpcap中的,因为在代码中引用了 pcap.h ,因此我打开了函数定义,发现在pcap.h中没有定义,因此就怀疑到了相关的库上。

经过查阅资料,发现pcap.h对应的是wpcap.lib文件,这个文件可以在wpcap的官方网站下载到sdk开发包。

解压开发包之后就能在里面的/lib路径下找到相应的lib。

由于是链接期错误,因此在Visual Studio中选中项目-》属性-》链接-》输入-》附加依赖项 里面添加上了 该wpcap.lib的路径,问题解决。

同时,我还在 项目-》属性-》VC++目录中 对Include和Lib两项添加了wpcap下的include和lib的路径。

至此问题解决,能够成功调用到_pcap_findalldevs函数了。



另外一个网上据说的办法是:

在代码开头输入

#pragma comment(lib,"wpcap.lib")
#pragma comment(lib,"ws2_32.lib")

我没有进行实证,请各位网友验证,谢谢!

发布了28 篇原创文章 · 获赞 100 · 访问量 36万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章