【问题标题】:LNK2019: unresolved external symbol __imp__dclassLNK2019:未解析的外部符号 __imp__dclass
【发布时间】:2015-01-26 18:37:31
【问题描述】:

我正在尝试在 Visual Studio 上为 ARM 架构构建 ffmpeg。我遇到以下链接器错误:

Error   58  error LNK2019: unresolved external symbol __imp__dclass referenced in function mov_read_tkhd avformat.lib(mov.o)

Error   59  error LNK2001: unresolved external symbol __imp__dclass avformat.lib(thp.o) 

Error   60  error LNK2001: unresolved external symbol __imp__dclass avutil.lib(rational.o)

Error   61  error LNK2001: unresolved external symbol __imp__dclass avutil.lib(eval.o)

什么是 __imp__dclass 以及它在 Visual Studio / FFMPEG 中的定义位置?

当我执行“dumpbin /symbols mov.o”时,我得到以下信息

22D 00000000 UNDEF  notype       External     | __imp__dclass

有什么想法吗?

【问题讨论】:

    标签: visual-studio ffmpeg arm linker-errors


    【解决方案1】:

    这个特殊问题是由于 FFMPEG 中缺少 isnanisinf 方法。引入 math.obj 和 float.obj 依赖时出现问题。

    【讨论】:

    • 这很有帮助,因为我看到了同样的事情。您如何确定缺少哪些方法?
    • 原来我也是isinf。您是如何解决这个问题的?
    • FFmpeg 配置会自动检查 isnan/isinf 并标记宏变量“HAVE_ISNAN”(我没有方便的代码指出确切的变量名称)。如果您搜索它,您应该会找到 isnan/isinf 的替代实现(解决方法)。但是,在我的情况下,这是由于编译器/Visual Studio 配置导致无法正确定义它。最后,我不得不切换我的同事虚拟机来修复它。
    • 是的,我的问题显然也是 VS 配置问题。即使他们从 VS2013 开始提供 isnanisinf,我也无法正确链接。唉。
    猜你喜欢
    • 2014-11-07
    • 2013-06-01
    • 1970-01-01
    • 2022-01-06
    • 2014-09-19
    • 2012-12-17
    • 1970-01-01
    • 2019-05-27
    • 2012-10-31
    相关资源
    最近更新 更多