【问题标题】:How do I statically link a library into another static library?如何将一个库静态链接到另一个静态库?
【发布时间】:2023-04-04 22:12:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: c qt static linker mingw


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多