c - 如何将一个库静态链接到另一个静态库?

标签 c qt static linker mingw

我有 2 个具有不同版本 MinGW 的构建环境:一个为 Qt 配置,一个没有。然而,两者都有 Qt 的 stub 静态库(最终实际上链接到 dll)。问题是我想在 Qt MinGW 中构建一个静态库,然后将其包含在非 Qt MinGW 中。我在尝试时收到以下链接错误:

moc_browser.cpp:(.eh_frame+0x11): undefined reference to `___gxx_personality_v0'
browser.cpp:(.text+0x213): undefined reference to `__Unwind_Resume'

我发现 Qt MinGW 正在动态链接到标准库,我需要包含选项 -static-libgcc。但是,我不知道在哪里使用它,因为我不是在构建可执行文件,而是在构建静态库。

最佳答案

静态库只是目标文件的集合——一个存档。您不是通过链接创建它,而是使用归档程序(通常是 ar)。要将另一个静态库的目标文件包含在一个新的静态库中,您必须找到归档程序的相关选项来合并它们。

关于c - 如何将一个库静态链接到另一个静态库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9334257/

相关文章:

c - Solaris 编译器使我的 C 代码行为异常

node.js - ExpressJS : How do I ignore public static files in my route?

java - 为每个线程创建静态库实例

c - fclose(in) 段错误

c++ - 将整数转换为以 10 为底数。给定的数字可以是任何底数

python - pyqt4如何实现多语言支持

python - 如何在 headless 脚本中使用QProcess?

c - c语言创建静态变量时

c - 如何使用 gdb 过滤大型结构中的非零成员

python - 将 QTableWidget 单元格链接到网页