【发布时间】:2016-10-31 21:05:14
【问题描述】:
我有一个 Windows 可执行项目,它链接到使用 GCC 6 (MinGW) 构建的静态库 (.lib)。编译时出现如下错误:
LNK2019 unresolved external symbol __popcountdi2 referenced in function ...
符号是通过使用位于 libgcc 中的 GCC 内置函数 __builtin_popcount() 进行链接的。然而,尽管添加了-static-libgcc 作为 gcc 的参数,问题仍然存在。
有没有办法让我的库 (.lib) 包含部分 libgcc,而不是要求 libgcc 在系统上才能链接可执行文件?有什么方法可以解决必须使用 libgcc 运送库的方法吗?
__builtin_popcount() 不是我目前使用的唯一内置函数。该库使用__builtin_bswap32(),似乎没有遇到这个问题。
我使用的是 GCC 6.1.0。更新到 6.2.0;同样的问题。
【问题讨论】:
标签: c gcc visual-c++ mingw static-libraries