【问题标题】:Unresolved external when trying to use .lib/.dll尝试使用 .lib/.dll 时无法解析外部
【发布时间】:2013-09-26 05:46:39
【问题描述】:

我正在尝试将 ANN(用于快速最近邻搜索的开源 k-d 树)添加到我的 VC++ 项目中。我按照手册完成了每一步:

包含 .h 文件 复制 .lib 文件,将其位置添加到链接器附加目录 复制 .dll 文件,将位置设置为环境变量 PATH,并将其导入我的项目中

我仍然收到 24 个“未解决的外部...”错误。该库似乎被广泛使用并且应该没有错,想知道我还需要做什么才能使用它?

谢谢大家!

【问题讨论】:

  • 链接器不会通过魔法找到 lib 文件,在某些时候,某处,不知何故,您必须告诉链接器库的名称。配置属性/链接器/输入/附加依赖项。

标签: c++ dll unresolved-external


【解决方案1】:

出现“未解决的外部”错误是因为链接器没有找到“lib”文件。 DLL 文件只能在运行时找到,而不是链接时。

您是否在项目的属性中设置了 lib 文件的名称?

 Configuration Properties -> Linker -> Input -> Additional Dependencies

输入所有 lib 文件的文件名,以空格分隔。如果它们在您的项目文件夹中,请使用类似

 $(ProjectDir)Foobar.lib

【讨论】:

    【解决方案2】:

    你是否正确设置了lib的路径?

    您可以使用 lib 文件及其路径 在配置属性 -> 链接器 -> 输入 -> 附加依赖项

    只需在其中给出 lib 文件名 配置属性 -> 链接器 -> 输入 -> 附加依赖项

    和 lib 路径 配置属性 -> 链接器 -> 常规 -> 附加库目录

    【讨论】:

      猜你喜欢
      • 2022-12-17
      • 2023-03-17
      • 2012-04-14
      • 2011-11-30
      • 2012-08-13
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多