【问题标题】:Unresolved external symbol when including MFC object library包含 MFC 对象库时未解析的外部符号
【发布时间】:2014-01-06 22:47:57
【问题描述】:

我有一个作为独立 VC++ 项目存在的目标文件库。我有许多其他完全独立的VC++ 解决方案,我希望其中一些能够利用这个库中包含的类。

我已将项目添加到解决方案中,详情如下:(See docs)。我已按照所有说明进行操作,但在尝试使用该类时仍然收到 "unresolved external symbol" 错误。

谁能帮忙?

具体说明: 有问题的类库是一个 SQL 访问库。里面有两个文件,sql.h 和 sql.cpp。很简单。该项目本身编译得非常好,所以我知道该项目没有任何问题。我的印象是,要将项目包含在现有解决方案中,我必须:

  • 添加项目以将项目添加到解决方案中
  • 添加对项目的引用
  • 添加包含目录
  • 将#include "sql.h"添加到项目中

这就是我所做的,没有成功。

【问题讨论】:

  • 未解析的外部符号通常意味着您尝试调用的外部实体已在头文件中声明,但未在库中以该名称定义。例如,您可能正在尝试在 C++ 项目中使用用 C 编写的库。或者它可能只是标题中的错字。请提供细节。
  • 当然;添加到原始问题的细节。
  • 您是否告诉链接器您正在使用外部库?
  • 您是否指定了正确的 sql .lib 文件路径?有错别字吗?
  • 抱歉,我不确定您所说的其中任何一个是什么意思。我没有指定 .lib 文件的任何路径——我已经在“框架和参考”选项中指出了对它的引用。我还有什么需要做的吗?

标签: c++ visual-studio class linker dependencies


【解决方案1】:

请确保外部库已链接到您的项目。它通常以 .lib 文件的形式出现(例如,sql.lib) 转到 Configuration Properties -> Linker 并将您的库添加到“Additional Dependencies”列表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 2012-10-21
    • 1970-01-01
    相关资源
    最近更新 更多