【问题标题】:VS2012 - appears to be trying to link to DLL vs. LIBVS2012 - 似乎试图链接到 DLL 与 LIB
【发布时间】:2014-01-13 21:25:27
【问题描述】:

我收到了类似LINK2001: unresolved external symbol "... __declspec (dllimport) public: __thiscall <function> ..." <internally coded equivalent> 的链接器错误。

这些函数在静态库中作为主项目的依赖项提供。

我已确认该库已成功创建,并在 Framework and References 下以正确的 Full Path 引用,包括 .lib 扩展名。

__declspec (dllimport) 是否意味着它需要一个 DLL?如果是这样,那就没有了。

【问题讨论】:

  • 你确定你使用的头文件正确吗?您是否定义了为您提供静态链接而不是动态链接的符号?
  • 使用静态库时缺少预处理器编译定义。

标签: c++ visual-studio-2012 dll static-libraries


【解决方案1】:

是的,__declspec(dllimport) 告诉它期待一个 DLL,并与一个导入库(也是一个 .lib)一起使用。

检查您用于将静态库中的函数原型提供给依赖它的主项目的头文件。它可能是一个静态库,但听起来在那些常见的头文件中的某个地方是“__declspec(dllimport)”或在这些函数和/或类声明中扩展为它的宏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    相关资源
    最近更新 更多