【问题标题】:VS2010 MFC LNK 2019 unresolved external symbolVS2010 MFC LNK 2019 未解析的外部符号
【发布时间】:2013-05-02 08:18:44
【问题描述】:

大家好,我希望这个问题可以尽快解决。 当我尝试将 ANSI C 代码转换为 MFC 时,我遇到了这个问题。 链接库文件并包含头文件。我不知道这个错误是如何发生的或是关于什么的。 需要帮助。

谢谢。

错误 1 ​​错误 LNK2019:函数“protected: virtual int __thiscall CTESTDlg::OnInitDialog(void)”(?OnInitDialog@CTESTDlg@@MAEHXZ) 中引用了未解析的外部符号

【问题讨论】:

  • 发布您的代码 - 通常但不总是语法错误。
  • 您是否检查过它试图引用的功能是否实际实现?可以发一下代码吗?
  • 您似乎还没有定义OnInitDialog( ... ),但我们需要查看代码(正如其他人所说)才能确定。
  • 对不起,我不认为我可以发布代码。是的,函数在头文件中。
  • 好的。我正在将 National Instrument 代码添加到我之前的项目中。它只提供了 ANSI C 示例,我尝试对其进行转换。

标签: c++ visual-studio-2010 mfc linker-errors lnk2019


【解决方案1】:

不知道我是否理解问题,我理解的内容如下:

  • 您已经实现了一个 CTESTDlg 类
  • 实现位于单独的库中
  • 当您尝试从应用程序中使用 CTESTDlg 类时,它找不到 OnInitDialog 方法

对吗?

如果是,则在解决方案资源管理器中选择您的应用程序 -> 右键单击​​ -> 属性 -> 通用属性 -> 框架和参考

在对话框中确保您的库出现在参考列表中,如果不是“添加新参考...”并选择您的库。

如果不是,请详细说明问题:)

【讨论】:

  • 谢谢大家。问题解决了。我包含了一个 64 位库而不是 32 位库。我的 VS 2010 符合 32 位。
【解决方案2】:

在函数声明时使用 extern "c" 关键字

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多