QApplication构造函数段错误
Posted
技术标签:
【中文标题】QApplication构造函数段错误【英文标题】:QApplication constructor segfault 【发布时间】:2017-05-22 21:08:28 【问题描述】:当天早些时候,一切都很好,突然间一切都崩溃了。
#include <QtGui/QApplication>
int main(int argc, char** argv)
QApplication app argc, argv;
用g++ main.cpp -lQtCore -lQtGui -I/usr/include/qt4
编译,给我一个段错误,我不知道为什么。
我已经对此事进行了一些调查,似乎argc
或argv
可能有问题,但当天早些时候这根本没有发生。
【问题讨论】:
“但在当天早些时候这并没有发生”然后,当然,您使用git bisect
(或您选择的版本控制系统的类似工具)来找出两者之间的变化“当时”和“现在”破坏了构建 - 对吧?
很遗憾,我一整天都没有承诺,所以恐怕我没有那个选项
您发布的(微不足道的)程序中没有任何内容可以解释段错误。 一定你没有向我们展示的东西。
我向上帝发誓,这是重现段错误的最小示例,我发誓。我和你一样迷茫
调试器显示什么?当你闯入 segfault 时会发生什么?
【参考方案1】:
从 Qt4 升级到 Qt5 解决了这个问题。
【讨论】:
如果你能对它在 Qt4 中失败的原因进行补充说明,这将是非常有用的,也是一个很棒的文档。 遗憾的是,我没有任何线索。它开始失败,然后在更新时停止。我很想了解自己。 在运行 Qt4 失败代码时是否安装了 Qt5?也许你在 Qt4 和 Qt5 之间有一个混合链接。 虽然可能,但我对此表示怀疑。我昨天一直在运行 Qt4,然后在晚上 11 点它坏了,我不知道为什么。 @cbuchart 比我想象的还要糟糕,看看this。以上是关于QApplication构造函数段错误的主要内容,如果未能解决你的问题,请参考以下文章
必须在传递给 C 运行时函数的 QWidget 和无效参数之前构造一个 QApplication
Qt 必须在 QWidget 之前构造 QApplication