【问题标题】:MinGW unresolved reference when linking with Visual Studio generated static library与 Visual Studio 生成的静态库链接时,MinGW 未解析的引用
【发布时间】:2011-05-15 20:00:54
【问题描述】:

在 MinGW 下使用 gcc 4.5.0,我正在尝试构建一个 Windows 控制台可执行文件,它链接到使用 Visual Studio 创建的静态库。静态库似乎依赖于 MinGW 下不可用的 Visual Studio 符号。错误信息:

undefined reference to `_ftol2_sse'
undefined reference to `_allmul'

MinGW 下是否有这些功能的替代品,或者可以通过设置额外的链接器标志来解决这个问题?

【问题讨论】:

  • 澄清一下,这是一个真正的用 msvc 构建的静态库,而不是一个 dll 的导入库,对吗?如果是这样的话,MinGW和msvc之间的ABI差异会不会有问题?
  • 是的,它是一个真正的静态库。

标签: visual-studio mingw


【解决方案1】:

您必须明确链接到正确版本的 MSVC 运行时。 GCC 默认为不同的版本。

【讨论】:

  • 我该怎么做(我不是 MinGW 专家)?
  • 通常在 gcc 调用中包含 dll 的(绝对或相对路径)。
  • 我尝试链接到以下备用运行时库 msvcr70 msvcr71 msvcr80 msvcr90,但错误并没有消失。
猜你喜欢
  • 1970-01-01
  • 2020-04-30
  • 1970-01-01
  • 2016-01-19
  • 1970-01-01
  • 2015-01-24
  • 2017-01-06
  • 2012-08-27
  • 1970-01-01
相关资源
最近更新 更多