【问题标题】:unresolved external symbol (LNK 2001) error with pcap functions [duplicate]pcap函数的未解决的外部符号(LNK 2001)错误[重复]
【发布时间】:2016-06-02 00:41:12
【问题描述】:

我知道如何修复 MSVS (2013) 中的典型 LNK2019 错误,但我在尝试使用 winpcap 时遇到了一些额外的麻烦..

我从this site(实际上是几次)安装了winpcap,据说它安装了我需要的必要.dll,我还安装了开发工具包并将链接器指向它:(1),@987654323 @。

我将WIN32 放在我的预处理器指令(或者更确切地说,定义)中,这消除了编译错误。然而,当我运行这篇文章底部的测试代码时,我得到了these errors

此处测试代码:http://pastie.org/10730081

【问题讨论】:

  • 您将链接器指向库文件的 64 位和 32 位版本。如果他们没有使用不同的名称,您将遇到问题。链接器找不到正确的函数。将“库目录”与您的项目配置(“Win32”/“x64”)相匹配。
  • 如果您将评论作为答案,我会接受。谢谢
  • 嗯,它现在正在编译和链接,我得到了正确的输出,所以是的
  • 好的,完成。很高兴你把它整理好了!

标签: c++ visual-studio libpcap unresolved-external winpcap


【解决方案1】:

查看your screenshot,您已经添加了 both 64 位和 32 位库文件的路径。如果库的开发人员不小心为其 64 位和 32 位版本使用不同的名称,那么链接器将无法找到正确的函数。

它首先在 64 位文件夹中搜索(因为这是您首先列出的那个),但您正在编译针对 32 位架构的应用程序(“Win32”项目配置处于活动状态)。

解决方法很简单:确保您已将“库目录”与您的项目配置相匹配:

Win32 → C:\code\C++\libs\WpdPack\Lib\
x64 → C:\code\C++\libs\WpdPack\Lib\x64\

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 2012-09-04
    • 2012-05-22
    • 1970-01-01
    • 2013-02-22
    • 2014-09-21
    • 1970-01-01
    相关资源
    最近更新 更多