【问题标题】:Qt Application fails spectacularlyQt 应用程序严重失败
【发布时间】:2008-10-13 21:53:14
【问题描述】:

我正在尝试将 Qt 应用程序与其库链接,而链接器 (MinGW) 会发出数百行如下内容,我不确定如何继续。

cpp: 未定义对 `_Unwind_SjLj_Register' 的引用 c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x29d):qcoreapplication_win。 cpp: 未定义对 `_Unwind_SjLj_Unregister' 的引用 c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x38c):qcoreapplication_win。 cpp:未定义的对 `_Unwind_SjLj_Resume' 的引用 c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x4ce):qcoreapplication_win。 cpp: 未定义对 `_Unwind_SjLj_Register' 的引用 c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x53e):qcoreapplication_win。 cpp: 未定义对 `_Unwind_SjLj_Unregister' 的引用 c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x635):qcoreapplication_win。 cpp:未定义的对 `_Unwind_SjLj_Resume' 的引用

【问题讨论】:

    标签: qt reference g++ mingw undefined


    【解决方案1】:

    我不知道...但对我来说,吐出有关 Unwind 的东西表明您在库是否使用异常编译和您的应用程序是否使用异常编译之间存在不匹配。

    如果您需要例外,请确保您已通过在您的 qmake 文件中添加以下行来启用它们:

    CONFIG += exceptions
    

    或者,如果您不想要异常,请使用相反的方法

    CONFIG -= exceptions
    

    无论您做什么,都不要使用 C++ 编译器选项自行设置。

    【讨论】:

      【解决方案2】:

      我已经有一段时间没有进行任何 Qt 开发了,但我记得只有几个实例会喷出大量这样的消息。

      • Qt 的包含文件是 与共享的版本不同 图书馆...这发生在我 升级了,由于某种原因,你 必须手动升级包含 文件。
      • Qt 库完全丢失了...我隐约记得编译器工作正常,但链接器在我第一次启动时失败了。

      我正在针对 ARM 处理器进行 Qt 开发,所以在交叉编译时我遇到了额外的问题。

      【讨论】:

        【解决方案3】:

        我知道的 2 个可能原因:

        1. 如果您尝试使用 gcc3 链接器链接 gcc4 库。
        2. 您需要在编译命令末尾添加-lstdc++ 标志

        【讨论】:

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